代码很简单如下:
#include <avr\io.h>
#include <avr\interrupt.h>
#include <avr\eeprom.h>
#include <util/delay.h>
#include<math.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
uint8_t Edata=0;
uint16_t t = 0x19F;
//eeprom_write_byte((uint8_t*) t,0x55);
Edata=eeprom_read_byte ((uint8_t*) t );
}
//写入再读出,验证即可。
我是写入之后,把写那一句注释掉,再少些看能否读到同样值,但是每次烧写之后都都不到同样值,why?
原来是每次烧写的时候把eeprom也擦除了,解决方法如图:
勾选了eeprom之后少些程序就会保留eeprom啦