STM32之GPIO工作原理
我使用的是*STM32F103ZET6
GPIO基本结构
对于我使用的stm32型号,一共有7组IO口,这里IO口指的是IO端口;从GPIOA一直到GPIOG。
每一组端口有16位IO引脚,例如PA0到PA15;因此总共有个IO引脚;查阅芯片手册的Pinout部分可以看到各个引脚的复用情况以及是否具有5V容忍功能
GPIO工作方式
输入模式包含:
- 输入浮空
- 输入上拉
- 输入下拉
- 模拟输入
输出模式包含:
- 开漏输出
- 开漏复用
- 推挽输出
- 推挽复用
输入浮空
如图所示,上下拉电阻的模拟开关全部断开,输入信号经过施密特出发器变为波形平滑,电平稳定的 TTL信号,送入输入寄存器。CPU可查询输入寄存器状态。
输入上拉
对于输入上拉的情况,STM32内部的上拉电阻起作用,即若选择此种模式,用万用表测不接任何负载的IO引脚时,是可以读到高电平3.3V的。当我们外接开关是,可以选用此种输入方式,当电平为低则说明开关按下。
输入下拉
与输入上拉原理相通。
模拟模式
与浮空的情况类似,只是此时是由ADC去读取输入信号,此信号作为模拟量输入给内部ADC模块。
先写到这,有空再更…