ESP32上电后持续重启,按键盘1键或断开外设可恢复求助
解决ESP32上电持续重启的问题
从你描述的现象来看,这个问题大概率和电源供电不足或者GPIO接线错误有关,结合你提到的“断开键盘/按1键就恢复”的细节,我给你梳理几个排查和解决方向:
1. 优先排查电源过载问题
ESP32开发板的5V引脚输出能力其实很有限(一般常见的开发板5V引脚能提供的最大电流在500mA左右,甚至更低),你同时接了4x4键盘、RTC和LCD Serial Adapter,这些外设上电瞬间的启动电流叠加在一起,很可能超过了ESP32 5V引脚的承载上限,导致系统电压骤降触发复位。而按下键盘1键或者断开键盘后,整体负载降低,电压恢复稳定,ESP32就能正常工作了。
解决办法:
- 给外设单独供电:把键盘、LCD这些设备接到独立的5V电源上(注意必须和ESP32共地!),不要全部依赖ESP32的5V引脚供电。
- 测量供电电压:上电时用万用表测ESP32的3.3V和5V引脚电压,如果电压低于3.2V(3.3V引脚)或者4.7V(5V引脚),基本可以确定是电源过载导致的重启。
2. 检查GPIO接线的明显错误
你提到键盘接的GPIO列表里15号引脚出现了两次,这绝对是个致命问题!重复接线会导致引脚之间短路,或者电平异常,直接触发ESP32的复位机制。哪怕你实际接线时可能是笔误(比如把14写成了15),也一定要仔细核对每一根线的连接:
- 重新整理键盘的行/列引脚,确保每个GPIO只接一个外设的引脚,没有重复或者误接情况。
- 检查RTC和LCD的I2C引脚(21、22)有没有和键盘的引脚冲突,哪怕你没写冲突,实际接线时也可能不小心碰到了。
3. 处理键盘上电时的电平异常
矩阵键盘在上电瞬间,行和列的引脚电平可能处于不稳定状态,甚至会出现“假按键”信号,有些情况下会导致ESP32的GPIO端口电流异常,间接影响电源稳定性。你可以试试:
- 在键盘的行/列引脚上加上拉/下拉电阻(一般10kΩ即可),让上电时引脚电平快速稳定下来。
- 在代码里添加上电延迟:ESP32启动后先延迟1-2秒再初始化键盘,等外设电平稳定后再处理输入信号。
额外小提示
如果以上方法都试过还是有问题,可以尝试单独测试每个外设:先只接ESP32+LCD,看会不会重启;再单独接ESP32+键盘,排查是哪个外设导致的问题,这样更容易定位根源。
内容的提问来源于stack exchange,提问作者Archy




