STM32 GPIO模块功能详解
B站视频地址:芯片内部GPIO模块细节
引脚
将 STM32 芯片,类比为【大脑】
而旁边的引脚,类比为【神经】
通过引脚,使得,STM32,可以和外部世界,进行交流
比如,当我们和别人说话时,我们通过嘴巴(输出)来说话,通过耳朵(输入)来听声音
STM32也是这样,它的引脚可以用来接收信息(输入)或发送信息(输出)
操作 LED 灯,4个步骤
- 使能 GPIO 模块(GPIO 模块,默认不工作)
- 选择 PIN2 的功能:连接到 GPIO 模块
- 配置 GPIO 模块,让引脚,作为输出引脚
- 配置 GPIO 模块,让引脚,作为输出 高/低 电平
上拉,下拉电阻
GPIO 输出
电压表,测容量电阻两端的电压
要求:电压表,内阻,必须非常大;否则,会影响被测电路的状态,这样,测得的电压,就不准了
当 IO 引脚,工作在输入模式下的时候,它的作用,就是去测量,外部输入信号的电压
相当于一块电压表,因此,内阻,应该是无穷大的
无穷大的电阻,相当于开路
如果引脚不接上拉、下拉电阻,这个时候,IO 引脚完全悬空
悬空的引脚,就像一条天线,会接受空间的电磁波,会读到随机的 0、1
“松开按钮” 和 “按下按钮” 的英文翻译分别是
松开按钮: Release the button 按下按钮: Press the button
施密特触发器的作用
输出模式
GPIO 四种输出模式
这个讲的真是绝了,通俗易懂,看视频吧
输出
推挽:交替导通;0下1上
开漏:上管横断(上面的 MOS 管,一直保持断开);0下1 – 高阻抗
因为引脚上没有电流,所以根据 R = U / I = ∞,电阻无穷大的输入状态,成为高阻态
通用:通过程序,直接控制 IO 引脚
复用:将 IO 引脚的控制权,交给芯片上的其他模块(比如,引脚被串口模块托管,我们就不能直接控制这个引脚的输出为 高电压 还是 低电压 了)
推挽输出模式
复用推挽输出、复用推漏输出:就是 Alternate Function Output 那边的
开漏输出模式
操作 GPIO
操作 GPIO
1)设置方向
2)设置
3)
– 输入:读取值
– 输出:写值
GPIO 源码分析
本质:操作寄存器
GPIO_Init
作者:小的时候可菜了