极海APM32F103不同工作阶段下的GPIO状态
分享一篇我在学习极海Geehy APM32F103的工作笔记。由于现在开发工业控制类项目,要了解MCU不同工作阶段的GPIO状态,所以总结了本篇工作笔记,分享给坛友们。
- 复位期间和刚复位后的IO状态
GPIO 在复位期间和刚复位后,复用功能未开启, I/O 端口将会被配置为浮空输入模式,此情况下输入模式禁用上拉/下拉电阻。
注意:浮空输入模式的初始电平状态不确定,且易受外界干扰;连接设备时,由外部的输入电平决定(阻抗非常高的除外)。即,如果我们有外部控制引脚,此GPIO必须硬件设计固定电平电阻,要么上拉,要么下拉,不得空缺!
- GPIO锁定状态
锁定功能可以用在电源驱动模块。 GPIO的锁定机制可以保护I/O端口的配置。通过配置锁定寄存器(GPIOx_LOCK)可以锁定I/O的配置,当一个端口位执行了锁定程序,到下一次复位之前,将不能再修改端口位的配置。
注意:在有外部模块,尤其是电源EN引脚控制时,需要配置此寄存器功能。保护GPIO引脚的电平不被误操作。
- 低功耗模式状态
低功耗模式又分为三种状态,我们分开讨论:
睡眠模式
此模式下,仅内核停止工作,SRAM和寄存器值仍然保持,故GPIO引脚状态不变,并可以通过GPIO的外部中断模式唤醒,如按键按下。官方建议如果进入低功耗模式,则GPIO要配置成浮空输入,以减少漏电流等情况。
停机模式
此模式下,SRAM和寄存器值不丢失,外部中断线仍可唤醒。官方建议GPIO配置成浮空输入。
待机模式
此模式下,依后备寄存器保留。GPIO成浮空输入状态。
本次总结分享就到这里了,如果有不对的地方,欢迎批评指正。 |