通过 USBASP 对 Atmega32U4 进行编程
Posted
技术标签:
【中文标题】通过 USBASP 对 Atmega32U4 进行编程【英文标题】:Programming a Atmega32U4 via USBASP 【发布时间】:2018-11-27 02:11:43 【问题描述】:我创建了自己的定制板并添加了 ICSP 标头,尽管我似乎无法对其进行编程。
我的板子有一个 Atmega32U4(没有外部晶振),当我使用命令时我不断收到错误:
avrdude -p m32u4 -c usbasp -B 64 -U flash:w:/Users/Jbonnett/Desktop/RGBWstrandtest.ino.hex
错误:
avrdude: set SCK frequency to 8000 Hz
avrdude: error: program enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
如您所见,我正在尝试以慢速模式对芯片进行编程,并且我还尝试了慢速模式的硬件跳线。虽然错误告诉我它看不到我的自定义板。
我正在使用的程序员是这个:https://www.ebay.co.uk/itm/USBASP-USB-ISP-Programmer-for-Atmel-AVR-ATMega328-ATMega32U4-Arduino/322662323277
这里有几张照片显示自定义板已正确接线: 请注意,编程器可以由定制板供电。
感谢您的帮助:)
编辑:My Schematic
【问题讨论】:
添加定制板的原理图来提问。 2x3 标头是标准 Arduino ISCP 标头吗? 嗨@Juraj 我添加了我的原理图:) 你们有不是自己造的32u4板子吗?你可以先试试这个程序员 对不起,我没有 【参考方案1】:由于信息有限,有很多可能性,您可以查看以下列表,虽然不是一个完整的列表,但应该缩小范围:
(1) 试试用-F参数看看能不能走得更远一点
(2) 检查USBAsp是否适用于标准32u4板
(3) 检查ISP头连接是否正确,有时由于原理图/布局/fab中的任何错误,引脚的标签可能会被颠倒
(4) 32u4 上的保险丝可能设置为使用外部振荡器(虽然我在工厂 32u4 上从未见过此设置,默认始终为内部 RC),在这种情况下,我们需要外部晶体来编程。
【讨论】:
嗨@coolbreeze,我确实尝试了 -F 参数,但没有任何乐趣。尽管我没有关于兼容性的信息,但我看不到 USBAsp 不起作用。这是我的示意图Imgur。知道如何设置正确的保险丝吗?说到他们,我一点头绪都没有。 如果您可以在使用 -F 选项时发布 avrdude 的输出,那将会有所帮助。还为详细输出添加 -v 选项。 ISP Header 从原理图上似乎没问题,需要检查板上是否有任何连接/焊接问题。该芯片是来自工厂的新 32u4(直接来自 Atmel 经销商之一)还是之前已经编程(由您或来自使用代码对芯片进行预编程的来源之一)? 我是从这里购买的,虽然我看不到它是否预装了引导加载程序。 对不起,我一定忘记了链接:( Link to ATMega32U4-MUR 请参阅文档中的第 21.4 节。【参考方案2】:好的,我添加了一个水晶,它可以工作了!即使它有一个内部的,我也不知道为什么没有它就不能工作:(
【讨论】:
以上是关于通过 USBASP 对 Atmega32U4 进行编程的主要内容,如果未能解决你的问题,请参考以下文章
arduino leonardo r3 和 arduino uno r3 有啥区别