通过Arduino作为ISP编程Mini Pro时遇到问题


9

我刚刚拿起一对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区域。

谢谢!

Answers:


7

经过一番摸索之后,原来我的问题是波特率。我可以通过将其设置为19200使其工作,但速度稍慢一些。或者,您可以修改ArduinoISP草图以启用更高的波特率。我使用此帖子启用了115200波特,并且能够以较高的速率成功使用avrdude。

不知道我以前怎么错过这个,但是至少很容易解决。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.