我正在使用arduino isp编程一个ATtiny2313 avr微控制器。这就是问题所在,当我使用默认的熔断器值对avr芯片进行编程时,一切都很好。但是,我改变了熔断器字节,因为我想使用一个外部的16 MHz晶体。当我将lfuse值从0x64改为0xff (根据熔断器位的计算)时,微控制器停止响应。
现在,每当我尝试用arduino uno isp编写微控制器时,我都会收到一条错误消息: avrdude: Yikes!无效的设备签名。ATtiny2313的预期签名是1E910A
然后,验证后显示的融合字节,奇怪的是,所有这些字节都被设置为0x00 : avrdude: safemode:熔断器OK (H:00,E:00,L:00)
我不明白到底发生了什么事,我花了好几个小时试图找出问题所在。
在编程时,是否应该将16 the晶体连接到单片机上?
请帮帮忙!
发布于 2015-03-17 13:34:18
是。当您更改配置位以使用外部振荡器时,将不再使用内部振荡器--包括在编程期间。该芯片只是停留在复位,直到它提供了外部时钟信号。当ISP试图读出一个值时,它只是看到数据行被困在重置状态--这是所有0x00值来自的地方。
将晶体或信号发生器连接到时钟引脚上,您应该能够再次与芯片对话。
发布于 2021-04-14 06:30:43
https://stackoverflow.com/questions/29100297
复制相似问题