刻录引导加载程序后 ATtiny85 不工作

电器工程 Arduino avr 服装 引导加载程序 保险丝位
2022-01-10 07:41:49

我的 ATtiny85 有问题。我应该提到我使用 Arduino 作为 ISP 对其进行编程。

我的 ATTiny 工作正常,直到我决定需要将时钟速度从 1MHz 提高到 20MHz,所以我从 Boards 菜单中选择了 20MHz 的 ATTiny85,然后单击 Tools>Burn Bootloader。但这很愚蠢,因为现在我的 ATTiny 根本不起作用。我无法在上面上传草图,如果我尝试,我会收到以下消息:

avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check.

所以我的问题是,有没有办法重置我所做的事情?或者甚至更好,让它在 20MHz 下工作?

2个回答

我怀疑您已将控制器的保险丝设置为使用外部时钟源,因为不可能让内部振荡器以 20MHz 运行。您可以通过将时钟信号连接到引脚 2CLKI并尝试将时钟重置为 8MHz 内部 RC 时钟,从而为控制器注入新的活力。

实际上有一个“固定”版本的 ArduinoISP,在数字引脚 9 上有一个时钟输出。我自己没有测试这个时钟输出,但值得一试。因此,除了 Arduino 和 ATtiny 之间已有的连接之外,将 Arduino 数字引脚 9 连接到 ATtiny85 引脚 2 (CLKI)。然后尝试对 8MHz 内部 RC 时钟进行编程。

如果您查看数据表第 6.2 章“时钟源”以获取详细信息。

另一种方法是使用高压编程器,可以很容易地使用 Arduino 即兴创作

顺便说一句:当您选择 RC 时钟源 < 1MHz 时会发生类似的事情,在这种情况下,您的控制器时钟对于标准 ArduinoISP 软件来说运行速度太慢。

正如@jippie所说,这只是应用外部时钟源的问题(实际上时钟源是否为20MHz并不重要,只需达到1MHz左右即可管理ArduinoISP的SPI编程速度)。

作为上述 ArduinoISP 版本的替代方案,您可以尝试ScratchMonkey,除了时钟生成之外,它还可以使用软件 SPI 来处理其他一些时钟问题。除非您设法禁用复位引脚,否则没有理由求助于高压编程。