mega 2560烧录了一个看门狗的程序后,所有的程序都无法下载到板子上了。
如题所说,我往arduino mega 2560里烧录了一个程序,arduino IDE用的是1.5.6-r2程序没烧上,我直接就把arduino关了,然后所有的程序就都烧不上了,出现了下面这种东西:avrdude: ser_open(): can't open device "\\.\COM4": 拒绝访问。
avrdude: ser_drain(): read error: 句柄无效。
processing.app.debug.RunnerException
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:125)
at processing.app.Sketch.upload(Sketch.java:1719)
at processing.app.Sketch.exportApplet(Sketch.java:1625)
at processing.app.Sketch.exportApplet(Sketch.java:1597)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2397)
at java.lang.Thread.run(Unknown Source)
Caused by: processing.app.debug.RunnerException: Problem uploading to board.See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
at cc.arduino.packages.Uploader.executeUploadCommand(Uploader.java:111)
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:123)
... 5 more
是不是bootload出了问题,诸位大神谁知道啊,烧录的看门狗程序见下,/*------ avr看门狗测试 -----*/
#include <avr/wdt.h>
void setup()
{
pinMode(13,OUTPUT);
wdt_enable(WDTO_4S); //开启看门狗,并设置溢出时间为4秒
digitalWrite(13,HIGH);
delay(100);
digitalWrite(13,LOW);
delay(100);
digitalWrite(13,HIGH);
delay(100);
digitalWrite(13,LOW);
delay(100);
}
void loop()
{
digitalWrite(13,HIGH);
delay(600);
digitalWrite(13,LOW);
delay(600);
//wdt_reset(); //喂狗操作,使看门狗定时器复位
} 因为你屏蔽了喂狗的代码,于是2560就会不停的重启.四秒之内你还来不及写入新的程序进去,就又重启了,你看到的现象就是串口时通时断.
解决的办法有两个:方法一是在编译下载程序的过程中最后要写入到2560时再插上usb线,目的就是在四秒中内让单片机进入下载状态,但成功率不太高,插入的时机非常不好把握.方法二是用icsp烧程序进去,需要一个usb转icsp的线. 用第一个方法试了5次,成功了,谢谢啦。 看门狗会影响BootLoader,给你参考:http://www.makerbeta.com/forum.php?mod=viewthread&tid=236&page=1#pid607
页:
[1]