大家一定遇到过上电或者复位时外部的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都是高阻状态,那么高阻状态是什么电压?需不需要上下拉,那我们则需要根据外围电路来判断,请关注我们,后续视频我们继续分享。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
单片机
+关注
关注
6078文章
45569浏览量
673312 -
mcu
+关注
关注
147文章
19110浏览量
403233 -
电子工程
+关注
关注
1文章
248浏览量
17626 -
GD32
+关注
关注
7文章
434浏览量
27599
发布评论请先 登录
相关推荐
热点推荐
S32K344 GPIO复位状态:MDM是什么意思?
我使用的是 S32K344、257 针 BGA 封装。GPIO PTG18,引脚 M10,列出功能复位和自检期间的复位状态作为 MDM。MDM 的定义是什么,它在文档中的哪个位置定义?
发表于 03-22 08:51
介绍ATMEL MCU的GPIO配置
Getting Started with Atmel SMART SAM D MCU Configuring the GPIO
外部IC连接NRST导致MCU内部复位信号失效的问题
有客户在产品的设计中,使用外部IC的GPIO通过连接NRST引脚来对STM32MCU进行复位控制时,会遇到以下问题:IC可以对MCU进行复位
发表于 04-28 15:16
•19次下载
MCU学习笔记_GPIO工作原理
MCU学习笔记STM32时钟1. STM32 GPIO基础知识2. STM32 GPIO工作模式3. STM32 GPIO寄存器1. STM32 G
发表于 10-25 11:21
•17次下载
MIMXRT1021CAG4B GPIO口复位值详解
在MIMXRT1021CAG4B使用中,当系统上电后,发现不同的端口在通电后具有不同的值。例如,现在使用GPIO_EMC_39和唤醒引脚,两者结果是不同的。从GPIO数据手册中,GPIO DATA寄存器的
MCU复位时GPIO是什么状态?
评论