AVR内部eeprom读取问题

问题描述 投票:1回答:1

我正在使用avr的EEPROM库使用atmega8A的内部EEPROM。我的代码看起来像这样

 #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中的复选框以清除Flash和eeprom

我正在使用avr的EEPROM库使用atmega8A的内部EEPROM。我的代码如下所示:#define EEPROM_ADDR 0x0A int main(void){_delay_ms(2000); LED_Initialize(); vBlink_Led(...

c avr atmega eeprom
1个回答
2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.