我正在使用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(...
通常,当执行“芯片擦除”操作时,也正在清除EEPROM。