Пытаюсь изучить и применить EEPROM.
С помощью настройки регистров и функций записи и чтения получилось нормально.
Но с помощью библиотеки не выходит,не записывается.
Посмотрите на код,где ошибка?
Спасибо.
Код: Выделить всё
#define F_CPU 8000000
#include <avr/io.h>
#include <avr/eeprom.h>
#include <util/delay.h>
unsigned char eeprom_var EEMEM;
int main(void)
{
DDRB=0b00000111;
PORTB=0b11111000;
DDRA=0b010;
PORTA=0b111;
unsigned char z=0;
z = eeprom_read_byte(&eeprom_var);
while (1)
{
if (~PINA&(1<<PA0))
{
if (z<7)
{
z++;
PORTB =z;
eeprom_write_byte(&eeprom_var, z);
_delay_ms(200);
}
else
{
z=0;
PORTB = z;
eeprom_write_byte(&eeprom_var, z);
_delay_ms(200);
}
while (~PINA&(1<<PA0)){};
_delay_ms(20);
}
}
}