首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AVR内部eeprom读取问题

AVR内部eeprom读取问题
EN

Stack Overflow用户
提问于 2019-11-19 01:42:32
回答 1查看 90关注 0票数 1

我正在使用atmega8A的内部EEPROM,使用的是avr的EEPROM库。我的代码如下所示

代码语言:javascript
复制
 #define EEPROM_ADDR    0x0A

int main(void)
{
    _delay_ms(2000);
    LED_Initialize();
    vBlink_Led(100, 2);

    //eeprom_write_byte((uint8_t*)EEPROM_ADDR, 8);
    val = eeprom_read_byte((uint8_t*)EEPROM_ADDR);
    while (1);
}

当我取消注释eeprom_write_byte((uint8_t*)EEPROM_ADDR, 8);行,然后使用val = eeprom_read_byte((uint8_t*)EEPROM_ADDR);读取时,读取了正确的值8。但是,当我对该行进行注释,然后重新刷新代码时,值更改为255。

有什么建议吗?

注意-我已取消选中avrdudes中用于擦除闪存和eeprom的复选框

EN

回答 1

Stack Overflow用户

发布于 2019-11-20 19:19:49

通常,当执行“芯片擦除”操作时,EEPROM也会被清除。

为防止出现这种情况,您必须对EESAVE熔丝位进行编程(即设置为零),这是高熔丝字节中的第3个位(请参阅the datasheet第29.2章熔丝位)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58920212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档