问题现象
Arduino DUE,下载程序后,哪怕是几个简单的串口输出测试程序,也会在断电后第一次开机时无法启动。
必需手动按Reset,或者重新插拔一下USB来重新上电一下才能启动。
问题原因
具体原因未明,单据往上查到的记录,可能时SAM3X这颗CPU在开机时收到脏数据导致其一直在下载模式里退不出来。
解决办法
在主CPU(ATSAM3X)的RESET脚(Reset按键的一个引脚)和GND之间,加一个10uF的电容即可。
踩过的坑
一开始怀疑ATMEGA16U2的固件问题,搞了半天把它的固件升级之后,发现问题依旧。。。
参考:
https://zhidao.baidu.com/question/1801919188588044267.html
https://forum.arduino.cc/index.php/topic,134847
https://github.com/arduino/Arduino/pull/1267
https://github.com/arduino/ArduinoCore-sam/tree/master/firmwares/atmega16u2
https://www.arduino.cc/en/Hacking/DFUProgramming8U2