我刚刚拿起一对Arduino Mini Pro 5v克隆板(内陆,在Microcenter上出售,目前价格为4美元),我想像过去用过ATmega328和ATtiny85芯片一样,将Uno用作ISP。我已经按照ArduinoISP教程页面上的说明对Uno进行了编程,并已使用此页面上的说明将Uno连接到Mini Pro 。无论我如何尝试,我都无法从命令行获取Arduino IDE或avrdude来成功地对这些板进行编程。除了可以使用Arduino IDE将新的引导加载程序刻录到Mini Pro。
我还连接了状态LED(引脚7、8和9),当我尝试对除引导加载程序以外的任何内容进行编程时,我都可以看到程序员有错误情况(引脚8)。
这是我的avrdude命令行,我尝试在Mini Pro上设置保险丝:
avrdude -P /dev/tty.usbmodema0121 -b 57600 -c avrisp -p atmega328p -U lfuse:w:0xff:m -U hfuse:w:0xdb:m -U efuse:w:0xfd:m
我从avrdude获得以下信息:
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x1c
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x1c
avrdude done. Thank you.
使用几乎完全相同的设置我没有任何问题,但是过去在带有avrdude的试验板上使用了ATmega328或ATtiny85芯片,所以我对这里发生的事情不知所措。
我也看过了ArduinoISP代码,但我不太确定resp = 0x1c是什么。我没有在代码的“ STK定义”部分中看到定义的0x1c值,所以我不确定是什么原因引起的。
这里的任何指针将不胜感激。是的,我确实知道我可以将Uno板与ATmega328芯片一起用作编程器来使用。但是我希望能够像使用常规ATmega328芯片一样用自己的代码覆盖Bootloader区域。
谢谢!