刚刚从ICCAVR转到WINAVR,使用起来非常不习惯,在ICC中EEPROM的读写程序,我都是根据手册来编写的。
在“芯艺”的“AVR单片机GCC程序设计”中,提到,要使用EEPROM,在GCCAVR中,有两种方法可以实现。
1、直接通过地址的方式来读和写操作
写操作: eeprom_write_byte(0,a);
说明: 直接向EEPROM地址0写个数据a.
读操作:unsigned char val=eeprom_read_byte(0);
说明:读EEPROM地址0的数据到val.
2、通过预先声明一个数据是存储在EEPROM中:uint8_t val __attribute__((section(".eeprom")));
写操作: eeprom_write_byte(&val,a);
说明: 如上面声明的话,那么val值存储的地址是由系统默认的,并不知道具体的地址。
读操作:unsigned char val=eeprom_read_byte(&val);
3、1和2