STM32顾名思义是一款32位微控制器(MCU),MCU是可以进行算术运算并通过I/O口控制外围电路的半导体芯片。STM32这里的32是指其一次能够处理的数据长度,处理器位数反映的处理器的速度、架构等等。 任何一款MCU包括CPU,掌握I/O都是入门的第一步。
"跑马灯"程序其意义就相当于"Hello World!"程序,因此本篇结合"跑马灯"程序,系统梳理STM32的I/O功能。
F4具有7个GPIO(A、B、C、D、E、F、G),每个GPIO含有16个I/O口;每个GPIO口上面受到相应寄存器组(10个管理部门,每个部门32个人,每两个人控制1个I/O位)控制,每个寄存器成员控制16个I/O口。
- 输出模式
- 开漏输出
- 推挽输出
- 复用开漏
- 复用推挽
- 输入模式
- 浮空输入
- 上拉输入
- 下拉输入
- 模拟输入
- 复位期间以及复位刚刚完成时所有I/O引脚都被配置成浮空输入模式。复位完成后,有些引脚又被系统自动复用为“复用功能”,如:
- PA13
默认复用为JTMS/SWDAT处于下拉模式 - PA14
默认复用为JTCK/SWCLK处于下拉模式 - PA15
默认复用为JDTI处于上拉模式 - PB3
默认复用为JTDO处于浮空模式 - PB4
默认复用为NJTRST处于上拉模式
- STM32输出速度
输出速度指的是I/O口,1秒内输出电平正负翻转次数,在涉及到串口、IIC、SPI通信通信时尤其要注意波特率与输出速度的匹配。 - 所有I/O口都可以作为中断输入
















