通过 USBASP 编程 Atmega32U4

Programming a Atmega32U4 via USBASP

我创建了自己的定制板并添加了一个 ICSP 头,尽管我似乎无法对其进行编程。

我的板子有一个 Atmega32U4(没有外部 crystal),当我使用命令时我总是收到错误:

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

信息有限,有很多可能性,你可以查看以下内容,虽然不全面,但应该缩小范围:

(1) 尝试使用-F参数检查是否可以更进一步

(2) 检查 USBAsp 是否适用于标准 32u4 板

(3) 检查ISP header 连接是否正确,有时可能会因为不正确导致管脚标号颠倒schematic/layout/fab

(4) 32u4 上的保险丝可以设置为使用外部振荡器(虽然我从未在工厂 32u4 上看到过此设置,默认始终是内部 RC),在这种情况下我们需要一个外部 crystal 进行编程。

好的,所以我添加了一个 crystal,它起作用了!尽管它有一个内部的,但我不知道为什么没有一个它就不能工作:(