MCU复位时GPIO是什么状态?

大家一定遇到过上电或者复位时外部的MOS电路或者芯片使能信号意外开启,至此有经验的工程师就会经常关心一个问题,MCU复位时GPIO是什么状态?什么电路需要外部加上下拉?

MCU从上电到启动,实际可分为复位前和复位后、初始化后三个阶段来考虑,以GD32F470为例:

  • 首先MCU上电过程到POR复位前,数字电路逻辑还没复位,GPIO处于高阻状态,NMOS、PMOS、上下拉电阻都处于关闭状态,此时GPIO处于高阻状态。
  • 当MCU POR复位后,复位引脚拉高,寄存器全部加载复位值,此时IO口状态我们可以从GPIO寄存器中看到:

可以看到JTAG和SWD相关的引脚默认状态都是复用模式,且其中部分有配置默认的内部上下拉:

所以当MCU复位后,GPIO初始化前一些特殊GPIO是会有内部上下拉或者输出状态的,我们需要根据电路电平要求来合理选用GPIO,避免复位时IO口出现误输出。

  • 程序启动后执行初始化时会配置想要的GPIO模式和状态,此时一样也可能出现误输出,我们来看下GPIO输出寄存器默认值:

因为复位值是全0,所以如果一个希望默认为高的IO先初始化GPIO为输出模式再配置默认状态,那么GPIO会先输出低电平再马上拉高,通过示波器会看到复位后MCU IO口出现一个低电平毛刺,那么合理可靠的配置时序是:

1、先打开GPIO时钟;2、设置GPIO输出高还是低;3、设置GPIO模式;

这样就不会在初始化过程出现毛刺,需要严格遵守。

那么我们现在知道了,除去一些特殊IO和软件配置时序我们需要注意,在MCU IO口初始化前其他IO都是高阻状态,那么高阻状态是什么电压?需不需要上下拉,那我们则需要根据外围电路来判断,请关注我们,后续视频我们继续分享。

更多GD32 MCU相关咨询:https://www.gd32bbs.com/

相关推荐
KOAN凯擎小妹5 小时前
无源晶振为什么有串联谐振和并联谐振?MCU为什么使用并联晶体?
单片机·嵌入式硬件·晶振·元器件
茯苓gao6 小时前
嵌入式开发笔记:CAN与CAN FD完全指南——从帧格式差异到MCU选型实战
网络·笔记·stm32·嵌入式硬件·学习·汽车
论迹复利7 小时前
蓝牙 OTA 升级断连、升级失败底层链路问题定位
嵌入式硬件·安全·bt
振南的单片机世界8 小时前
3.5T静默分帧,CRC16校验:Modbus-RTU帧结构解析
arm开发·stm32·单片机·嵌入式硬件
LingzhiPi8 小时前
零知派ESP32--AS5600磁吸旋钮音量控制器
c++·单片机·嵌入式硬件
尼喃8 小时前
42V热拔插认证过压保护芯片:70V耐压+响应<1μs+可调OVP+SOT23-6
嵌入式硬件
0x3F(小茶)9 小时前
STM32 SPI的5种方向模式
c语言·stm32·单片机·嵌入式硬件
BSD_CGQ10 小时前
FSR压力传感器信号调理电路设计要点
单片机·嵌入式硬件·压力传感器·源头工厂·薄膜压力传感器
爱就是恒久忍耐10 小时前
CanFestival移植到STM32 F103芯片(基于HAL库)
stm32·单片机·嵌入式硬件
txh050711 小时前
如何使用示波器
嵌入式硬件·硬件工程