主要观点:作者在进行微控制器项目时,AVR 编程器突然停止工作,因是周五晚上且已深入项目,不想订购新编程器耽误时间,于是利用 Commodore 64 来实现与 AVR 芯片的通信并编程。通过在 Commodore 64 上运行特定程序,利用其 GPIO 引脚和相关连接,按照 AVR 数据表中的 ISP 协议进行操作,实现了对 AVR 芯片的编程,包括更改边界颜色以显示编程状态等。最后提供了相关程序的下载链接,并强调该软件目前仅编程闪存区域,可轻松添加对更新 EEPROM 区域和熔丝位的支持。还分享了其他人对该做法的一些看法和经历。
关键信息:
- AVR 编程器故障,周五晚上不想等待新编程器。
- Commodore 64 有可用信号和连接,可用于与 AVR 通信。
- 程序通过 253 行汇编代码实现 ISP 协议,可与二进制固件图像合并编程 AVR 芯片。
- 提供了 C64 可执行程序和源代码的下载链接。
- 其他人分享了类似利用身边设备解决问题的经历。
重要细节:
- AVR 编程器停止工作时,其为 In-System Programmable,可通过三线程串行协议上传新代码。
- Commodore 64 的键盘扫描会周期性复位 AVR 芯片,需软件禁用该中断。
- 程序运行时会更改边界颜色显示编程状态,绿色表示成功。
- 可在 Linux 系统下进行相关操作,如将固件从 IntelHex 格式转换为二进制。
- 有人提到在 PC 上利用 GPIO 端口也可进行类似操作,还有人分享利用旧设备解决冰箱温控问题的经历,以及有人从 2008 年开始关注作者项目并表示赞赏。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。