本文最后更新于17 天前,其中的信息可能已经过时,如有错误请发送邮件到wgdhw@outlook.com
GPIO,全称即General Purpose Input Output,通用输入和输出口。顾名思义通过GPIO口完成外部模块对片上外设的输入和输出。
GPIO口共拥有8种输入和输出模式,在输入模式下,通过APB2总线读取GPIO外设口的高低电平或者电压,借此完成对按键的读取,外部模块的电平信号的输入,ADC电压的采集等;而输出模式下,控制端口的输出电平高低,完成对外部模块的驱动,或者通讯协议的输出等等。
其中,输入和输出模式分别有4种,输入分为:浮空,上拉,下拉,模拟,前三者为数字输入,最后一个为模拟输入。浮空输入可读取引脚电平,但若引脚悬空,则电平不确定;上拉输入读取引脚电平,内部连接上拉电阻,在悬空时为高电平;下拉则与上拉相反,内部接下拉电阻,在悬空时为低电平;模拟输入则直接将信号转入内部ADC。而输出的4种模式分别为开漏,推挽,复用开漏,复用推挽,这四者皆为数字输出。开漏输出输出引脚电平,高电平为高阻态,低电平接VSS,而推挽输出的高电平接VDD,低电平接VSS,复用状态下,两者皆由片上外设控制。值得注意的是,大部分引脚的电平限制在0至3.3V,部分引脚容忍5V,具体引脚可以查看参考手册。