Habe das ganze jetzt mal versucht zu ändern.
Hier der Code.
Code:#include <avr/io.h> #include <util/delay.h> #include <avr/eeprom.h> int main(void) { DDRB |= (1<<PB1); // Ausgang für LED DDRB = ~(1<<PB0); // Eingang für Taster PORTB |= (1<<PB0); // Pullup Einschalten if(statusfromeeprom) // Zustand aus dem EEPROM lesen { DDRB |= (1<<PB1); // LED Einschalten _delay_ms(10000) // 10 Sekunden warten DDRB &= ~(1<<PB1); // LED ausschalten } while(1) { //Hier jetzt den Taster abfragen: if(PINB & (1<<PB0)) { _delay_ms(5000); //5 Sekunden warten if(PINB & (1<<PB0)) //Schauen ob der Pin immer noch High ist { //Wie soll ich hier den neuen Wert ins Eeprom schreiben ? //Also neuen Status in das EEPROM schreiben } } } }
Das habe ich zum Eeprom lesen und schreiben gefunden.
Natürlich habe ich noch viel mehr zum Eeprom gefunden.Code:// Byte aus dem EEPROM lesen uint8_t EEPReadByte(uint16_t addr) { return eeprom_read_byte((uint8_t *)addr); } // Byte in das EEPROM schreiben void EEPWriteByte(uint16_t addr, uint8_t val) { eeprom_write_byte((uint8_t *)addr, val); }
Nur ist es für einen Anfänger nicht gerade leicht das richtige zu finden.
Und ja, ich lese wirklich sehr sehr viel im Internet nur leider fällt es mir sehr schwer das ganze zu verstehen
PS: Welche Zugriffsart benötige ich bei meinem Programm?
Byte, word, dword, float oder block ?








Zitieren
Lesezeichen