Wemos D1 R32 ESP32开发板与CNC扩展板结合后,ESP32反复报rst:0x10 (RTCWDT_RTC_RESET),boot:0xb (HSPI_FLASH_BOOT) invalid header: 0xffffffff错误的解决办法。
结合上电后错误如下:
[22:07:33.904]收←◆ets Jul 29 2019 12:21:46
rst:0x10 (RTCWDT_RTC_RESET),boot:0xb (HSPI_FLASH_BOOT)
[22:07:33.949]收←◆invalid header: 0xffffffff
[22:07:33.993]收←◆invalid header: 0xffffffff
[22:07:34.037]收←◆invalid header: 0xffffffff
[22:07:34.081]收←◆invalid header: 0xffffffff
[22:07:34.126]收←◆invalid header: 0xffffffff
[22:07:34.170]收←◆invalid header: 0xffffffff
[22:07:34.215]收←◆invalid header: 0xffffffff
解决办法:
第一步:将CNC扩展板对应到Wemos D1 R32 ESP32开发板的GPIO12引脚掰弯,结合上电后不会在出现上述错误。
此时,你会发现Wemos D1 R32 ESP32开发板的给出指令后,电机不能正常工作。
第二步:将折弯的引脚直接接到CNC扩展板任何一个GND上,电机可以正常工作了。
缺点是你不在能控制使能了。(当前你可以尝试接到其他引脚上)
原因分析:
最开始的时候我做了一个尝试,我将CNC扩展板对应Wemos D1 R32 ESP32开发板的5V引脚掰弯,Wemos D1 R32 ESP32可以正常启动,貌似解决了重复重新启动的问题,但电机是不能正常运行起来的。后来发现A4988要求必有有两个电源接入,一个是VCC(8-36V)一个是VDD(3-5V的逻辑电源)。
在找资料。。。。。。。
经查 ESP32 的手册,确认是因为上电后因 Strapping 的相关引脚有关。上电给 Strapping 引脚正确的电平,ESP32模块才可以正常启动或者进入下载模式。
两个板子结合后没有用到GPIO0,GPIO2还是无关项。那么就剩MTDI和MTDO了。回想起第一步的尝试,当不接5V逻辑电源时,不重启,那么说明MTDI是不是下拉到0了?
MTDI、MTDO是个什么鬼????在网上找到了ESP-Prog的介绍。其中给出的连接引脚如下:
MTDI应对的是GPIO12,也就是CNC扩展板的使能引脚。
至此发现两个板子结合上电后,CNC扩展板通过Wemos D1 R32 ESP32开发板的5V逻辑电源给Wemos D1 R32 ESP32开发板的GPIO12拉高了,才导致Wemos D1 R32 ESP32反复重新启动。
不懂原理,纯试出来的。