【问题标题】:yikes invalid device signature哎呀无效的设备签名
【发布时间】:2015-03-17 13:26:20
【问题描述】:

我正在使用 arduino isp 对 ATtiny2313 avr 微控制器进行编程。 这是问题, 当我使用默认保险丝值对 avr 芯片进行编程时,一切正常。 但是后来,我改变了保险丝字节,因为我想使用外部 16 MHz 晶体。 当我将 lfuse 值从 0x64 更改为 0xff(根据熔丝位的计算)时,微控制器停止响应。

现在每次我尝试使用 arduino uno isp 对微控制器进行编程时,都会收到一条错误消息: avrdude:哎呀!设备签名无效。 avrdude: ATtiny2313 的预期签名是 1E 91 0A

然后验证后显示的保险丝字节,很奇怪都设置为 0x00 : avrdude:安全模式:保险丝正常(H:00、E:00、L:00)

我不明白到底发生了什么,我花了几个小时试图找出问题。

在编程时是否应该将 16Mhz 晶体连接到微控制器?

请帮忙!

【问题讨论】:

  • 哦,制造商的数据表在这种情况下会有多大用处。

标签: microcontroller avr fuse avrdude


【解决方案1】:

是的。当您更改配置位以使用外部振荡器时,将不再使用内部振荡器 - 包括在编程期间。芯片只是停留在复位状态,直到它被提供一个外部时钟信号。当 ISP 试图读出一个值时,它只是看到数据线卡在复位状态 - 这是所有 0x00 值的来源。

将晶体或信号发生器连接到 CLOCKIN 引脚,您应该可以再次与芯片通话。

【讨论】:

  • 在使用振荡器时,如果有一个 LED 从 XTAL 引脚连接到地,可以吗?
  • 当您将芯片配置为使用外部振荡器时,您不能再将 XTAL 引脚用于通用 IO,因此您不应该将任何其他东西连接到它们,除了晶体。如果您尝试写入 PORT 寄存器来控制引脚,它将无法正常工作。
【解决方案2】:

有同样的问题。如果没有外接振荡器,可以使用

Arduino ISP

在 PIN9 上,您会收到一个振荡器信号,您可以将其放在 PIN XTAL1 上的目标上。

救了我两个 328p。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-23
    • 1970-01-01
    • 2013-09-25
    • 2012-08-01
    • 2019-02-13
    相关资源
    最近更新 更多