我好像把ARDUINO UNO玩坏了。。
时间:10-02
整理:3721RD
点击:
昨天下午我测试新买的USBISP下载线,用PROGISP软件,参数选择328P,然后载入了一个HEX文件,烧录FLASH,成功。
下载器是10个孔(5个一排2排)。烧录的时候接线就插了4根, PIN 13,12,11和RESET 引脚 与烧录器连接的。
但是现在发现用ARDUINO IDE无法写入程序了,下载程序进去的时候就一直无响应。
Using Port : /dev/cu.usbmodem1441
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
我以为是USBISP烧录器把328P的BOOTLOADER弄坏了,就扣掉UNO上的328P,换了一片写好BOOTLOADER和LED发光的程序的328P。
换上去以后,UNO上自带的LED灯在闪烁,说明芯片工作正常。
然而用ARDUINO IDE写入程序还是上面的错误。
我怀疑是ATMEGA16U2被USBISP烧录器弄坏了,就进入DFU模式擦写了16U2,从新写入了BOOTLOADER。
用ARDUINO IDE写入程序还是上面的错误。
换另外一块UNO,IDE写入正常。
奇怪,什么样的操作会把UNO搞成现在这个样子呢? 2个关键的芯片,能替换的替换,不能替换的也从新刷过。 还能是哪出问题?
首先说USBISP下载线是可以用PROGISP软件烧写HEX文件的(是作为AVR单片机而言),而不是 ARDUINO。
我搞定了,是熔丝位的问题。从ARDUINO IDE里hardware目录里找对应型号的bootloader.hex ,拿USBISP烧录器载入FLASH,设置好熔丝位烧录。 ARDUINO UNO就恢复正常了,可以用IDE写入程序了。
嗯,我就说嘛ARDUINO还不至于那么脆弱。