简 介:: 本文探讨了USBASP模块在配置Mega8单片机熔丝时出现的问题。当Mega8设置为内部RC时钟时,USBASP无法访问单片机,疑似"烧死"。通过自制SPI编程器成功恢复了单片机功能,验证问题源于USBASP无法将时钟频率降至250kHz适配内部1MHz时钟。文章提出了Win11驱动兼容性的可能原因,并提供了相关技术文档链接供进一步研究。该案例为AVR单片机开发者提供了重要的故障排查思路。
关键词:MEGA8,SPI时钟频率,USBASP
- 改进的USBASP模块
- AVR ISP 电路模块制作过程
- 安装 USBASP的正确方式
01疑似烧死的MEGA8
一、问题所在
这两天制作的 USB ASP模块, 出现了一个问题。 那就是一旦将 Mega8 的熔丝配置设置成内部的 RC 时钟, 也就是 Mega8 单片机的缺省熔丝状态, 就无法再使用 USBASP 软件访问到 Mega8 单片机了。 这些都是在这个过程中被测试过程损坏的单片机。 即使调整 USBASP 软件左边的速度, 好像也无法解决这个问题。
二、老办法
手边有之前利用Mega8 单片机制作的下载版, 通过SPI端口对 Mega8 进行编程。 它可以设置SPI时钟频率, 最低可以在 250kHz。 正好是 Mega8内部 RC时钟 1MHz的四分之一。 下面利用这个模块设置刚才疑似烧死的单片机, 也就是使用 USBASP 无法访问的单片机, 查看是否可以进行访问并修改其中的熔丝配置。
使用弹簧夹子将自制的 AVR 单片机 SPI编程模块连接 Mega8单片机。 果然可以进行访问。 将它的熔丝图重新配置成使用外部 16MHz的时钟。 最后可以使用 USBASP 重新被访问了。 由此验证了, 之前利用USBASP模块看似是将Mega8单片机烧死了。 但实际上是将单片机的时钟配置成内部的 1MHz, 而 USBASP模块无法设置对应的时钟降低到 250kHz。 这就剩下一个新的问题了, 那就是为什么自制的 USBASP模块无法降低对外的时钟频率呢?
※总结 ※
本文验证了之前使用 USBASP 模块将对应的熔丝配置成内部 RC时钟的单片机, 可以再次使用自制的 SPI 编程器进行修改熔丝配置。 那么问题来了, 为什么使用 USBASP无法降低它的对外时钟频率呢? 这一点有可能还需要找到在 Win11下对应的 USBASP的驱动是否存在着问题。
■ 相关文献链接:
- 改进的USBASP模块-CSDN博客
- AVR ISP 电路模块制作过程-CSDN博客
- 安装 USBASP的正确方式-CSDN博客