GPIO:GPIO是一种通用型输入输出,可以用来控制输入输出的STM32引脚,统称为GPIO。
STM32有多组GPIO,比如我们使用的芯片:STM32F103ZET6共有7组GPIO端口,他们分别是GPIOx(x从A-G),每组控制16个引脚,共有112个GPIO引脚。具体一个其他STM32芯片有多少组GPIO,可以去查看他们的对应的数据手册。
每个引脚的电平是0-3.3V,部分引脚最高可以兼容到5V。
GPIO的特点:
同型号,IO口的数量可能不一样。
快速翻转。最快可以达到每2个时钟周期翻转一次。(STM32F1系列最快可以达到50MHz的翻转速度)。
每个IO都可以作为外部中断。
支持8种工作模式。
GPIO的八种工作模式:
GPIO端口的每个位(引脚)可以由软件分别配置成8种模式,当然对同一个引脚同一时间只能处于某一种模式中。
- 输入浮空(Input floating)
- 输入上拉(Input pull-up)
- 输入下拉(Input-pull-down)
- 模拟输入(Analog)
- 通用开漏输出(Output open-drain)
- 通用推挽式输出(Output push-pull)
- 推挽式复用功能(Alternate function push-pull)
- 开漏复用功能(Alternate function open-drain)
每个I/O端口位可以自由编程,然而I/O端口寄存器必须按32位字被访问。
输出模式下可以控制端口输出高电平低电平,用于驱动LED、蜂鸣器等,如果是大功率器件(比如电机),还需要加上驱动器(小电流控制大电流)。
输入模式下可以读取端口的高低电平,用于读取外接按键、外接模拟信号的输入、ADC电压采集、模拟通信协议接受数据等。
GPIO电路图:
输出模式:推挽输出和开漏输出
1,输出缓冲器被激活。
2,推挽模式:输出寄存器上的 1 将激活P-MOS

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



