使用ESP32(EPS-WROOM-32)时,IO并没有沿用现成模块的IO排列,发现始终无法下载程序,经过两天折腾发现几个问题,总结如下:
1、模块的EN和GPIO0在下载时有时序要求,这个务必使用官方的推荐电路,巧用串口芯片的DTR和RTS控制两个三极管,形成固定逻辑,如下图:
2、GPIO2在下载时必须处于下拉电位,也就是市面上所有现成模组都用这个IO对地接一个LED的原因,如果自己画板子,这个口即便不接LED,也务必处理成下拉状态。
3、经过以上处理后,下载还是失败,platformio提示“A fatal error occurred: Packet content transfer stopped (received 8 bytes)”,这个查了很多资料,都没有解决问题,最后在一篇老外文章中隐约提到可能是GPIO12的问题,下载时,这个口不能处于高电平。而我的电路中刚好把这个口上接了IIC外设,有个5.1k上拉。果断把这个GPIO对地下拉,解决问题。_