过去的某个时候,我使用Arduino IDE 在新一批的四个ATmega328-PU上刻录引导程序(注意328之后没有P-这是MCU的非微功耗版本,价格稍便宜,不要与ATmega328P-混淆)PU带有P),并且对来自avrdude的以下消息感到惊讶:
avrdude: Device signature = 0x1e950F
avrdude: Expected signature for ATMEGA328 is 1E 95 14
Double check chip, or use -F to override this check.
这意味着avrdude认为该芯片不是其标签上所说的。然后,我将Arduino IDE上的芯片类型更改为ATmega328P-PU,而avrdude毫无抱怨地烧掉了引导加载程序。这意味着该芯片被标记为一个MCU,而在内部它被标记为另一个,略有不同。
我想知道的是:
此事件有多罕见?有没有人有过类似的经历?(原始问题,题外)有可能解决这个问题吗?如何修复签名,以便avrdude正确识别芯片?
1
看来您的供应商只是将一些328P(此签名代表的意思)错误地标记为328s。
—
microtherion 2015年