STM32

您所在的位置:网站首页 gpio输入及输出过程 STM32

STM32

2023-04-22 17:01| 来源: 网络整理| 查看: 265

    在学习STM32的过程中,对于GPIO的模式配置一直都是模棱两可,今天就想好好把这个给吃透,所以写了这篇专栏,方便以后遗忘后复习。

1.八种基本输入输出模式

    我的英语那是真不好,大家往下看就知道了,所以我把下面的,标准库参数英语全称也写上了,希望有一天我能记住吧,后面的是基于STM32F103标准库写的。输入模式:(1)浮空输入GPIO_Mode_IN_FLOATING(我理解的IN就是输入吧,FLOATING可以看作是float浮点数数据类型,然后加个ing,这样就好记了。)(2)上拉输入GPIO_Mode_IPU(IPU是In Pull Up的简写)(3)下拉输入GPIO_Mode_IPD(IPD是In Pull Down的简写,pull有拉的意思)(4)模拟输入GPIO_Mode_AIN(AIN是Analog Input的简写,A是Analog模拟的意思,IN就是输入Input)

输出模式:(1)推挽输出GPIO_Mode_Out_PP(out push—pull,push有推的意思,pull有拉的意思,推挽的挽,可以想象成挽留,既然要挽留,那就要拉出人家的胳膊,推挽、推拉、push-pull、简写就是PP)(2)开漏输出GPIO_Mode_Out_OD(out open drain,drain有流水、流失、漏之意,所以open drain就是开漏的意思,简写成OD)(3)复用推挽输出GPIO_AF_PP(alternate function open push—pull)(4)复用开漏输出GPIO_AF_OD(alternate function open drain)

2.详细作用

(1)浮空输入    浮空输入,就是浮起来,飘忽不定的,这时候GPIO的电平是不确定的,完全由外部决定,外部输入高电平就是高,输入低电平就是低;当外部没有电平输入时(也就是悬空),该端口的电平是不确定的,不能确定是高电平或则时低电平,可以理解为不高不低的电平。

(2)上拉输入    这个顾名思义GPIO_Mode_IPU,Input Pull  Up—>输入拉上的意思,也就是输入上拉,一般也会叫成上拉输入,这个模式,在外部没有信号输入的时候,始终为高电平,当外部有低电平输入时才为低电平,否则为高电平。

(3)下拉输入    下拉输入和上拉输入,基本类似,当外部没有电平输入时,始终为电平,有高电平输入时才为低电平,其余时间为低电平。

(4)模拟输入    模拟输入一般和ADC配合使用,将输入的模拟量转化为数字量,这个很好理解。

下面这四种输出模式才是难点,是我模棱两可的地方。详细讲解可以看文章最后那个大佬的讲解的

(5)推挽输出    是我们在GPIO配置为输出模式时,最常用的模式,一般都是配置成推挽输出,因为只有当推挽输出模式时,我们输出1,该GPIO才为高电平,输出0,GPIO才为低电平,比如输出高低电平,控制LED等亮灭,就是用的推挽输出。(6)开漏输出    开漏输出和推挽输出区别在于,当输出1的时候,这时的1起不到作用,输出的电平由外部上拉电阻决定,如果没有外部上拉电阻,则为悬空状态;输出0时,却没有影响,和推挽输出一样,输出0,即GPIO输出为为低电平。(7)复用推挽输出    这个首先得理解复用的意思,这里的复用,不是指重定义GPIO,而是指的GPIO的第二功能,比如USART、IIC、SPI等这些外设复用,通常当我们CPU需要输出数据到这些外设时,GPIO就需要配置成复用输出,在我们使用定时器的输出比较输出PWM波、使用串口发送数据等等,就需要将GPIO配置成复用推挽输出的模式。(8)复用开漏输出    复用开漏输出也是针对的外设。

至于什么时候该配置成什么模式,可以区百度,或者看参考手册。

参考手册中给出了外设的GPIO配置参考

此外,下图也是文末链接里大佬归纳的,各个场景的GPIO模式。

各个场景的GPIO模式

    到这里就差多写完,写完这些,相当于大知识点都梳理了一遍,我的逻辑也更清晰了。小白初学STM32,专栏是为了,梳理知识点、便于复习的,如果写的不好,还请指正。大家一起加油,心想事成!

参考:【STM32】STM32F4 GPIO八种模式及工作原理详解_(1)在stm32f407xx中,gpio的工作模式有几种?_Z小旋的博客-CSDN博客https://blog.csdn.net/as480133937/article/details/98063549



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3