/* * EEPROM.c * * Created: 02.01.18 08:37:00 * Author : Ron Hiestermann */ #include #define F_CPU 16000000UL #define BAUDRATE 9600 #define BAUD_PRESCALLER (((F_CPU / (BAUDRATE * 16UL))) - 1) #define S1 (PINB&0x01) //Taster definiert an PORTD bit0 #define S2 (PINB&0x02) //Taster definiert an PORTD bit1 uint8_t eeFooByte EEMEM; //Variable eeFooByte im EEPROM anlegen. uint8_t myWriteByte = 1; //Variable myWByte anlegen und den Wert 1 laden. (Wird später in EEPROM geschrieben) uint8_t myReadByte; //Variable für den Wert der dann aus EEPROM gelesen wird. int main(void) { DDRC=0xFF; //PORTC auf Output PORTC=0x00; //PORTC auf null stellen DDRB=0x00; //PORTB auf Input PORTC=0x00; //PORTC auf null stellen //eeprom_write_byte(&eeFooByte, myWriteByte); //Wert aus Variable myWriteByte in eeFooByte (EEPROM) schreiben myReadByte = eeprom_read_byte (&eeFooByte); //Wert aus eeFooByte (EEPROM) lesen und in myReadByte schreiben (Wert = 1) PORTC=myReadByte; //Wert aus myReadByte an PORTC übergeben while (1) { if (S1) { myWriteByte=1; eeprom_write_byte(&eeFooByte, myWriteByte); //Wert aus Variable myWriteByte in eeFooByte (EEPROM) schreiben } if (S2) { myWriteByte=255; eeprom_write_byte(&eeFooByte, myWriteByte); //Wert aus Variable myWriteByte in eeFooByte (EEPROM) schreiben } } }