avr_programmieren_rh

2 Werte EEPROM

Feb 4th, 2018
104
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. * EEPROM.c
  3. *
  4. * Created: 02.01.18 08:37:00
  5. * Author : Ron Hiestermann
  6. */
  7.  
  8. #include <avr/eeprom.h>
  9.  
  10.  
  11. #define F_CPU 16000000UL
  12. #define BAUDRATE 9600
  13. #define BAUD_PRESCALLER (((F_CPU / (BAUDRATE * 16UL))) - 1)
  14. #define S1 (PINB&0x01) //Taster definiert an PORTD bit0
  15. #define S2 (PINB&0x02) //Taster definiert an PORTD bit1
  16.  
  17.  
  18. uint8_t LED2 EEMEM; //Variable eeFooByte im EEPROM anlegen.
  19. uint8_t wLED2 = 5; //Variable myWByte anlegen und den Wert 1 laden. (Wird später in EEPROM geschrieben)
  20. uint8_t rLED2; //Variable für den Wert der dann aus EEPROM gelesen wird.
  21. uint8_t LED1 EEMEM; //Variable eeFooByte im EEPROM anlegen.
  22. uint8_t wLED1 = 9; //Variable myWByte anlegen und den Wert 1 laden. (Wird später in EEPROM geschrieben)
  23. uint8_t rLED1; //Variable für den Wert der dann aus EEPROM gelesen wird.
  24.  
  25.  
  26. int main(void)
  27. {
  28. DDRC=0xFF; //PORTC auf Output
  29. PORTC=0; //PORTC auf null stellen
  30. eeprom_write_byte(&LED2, wLED2); //Wert aus Variable myWriteByte in eeFooByte (EEPROM) schreiben
  31. rLED2 = eeprom_read_byte (&LED2); //Wert aus eeFooByte (EEPROM) lesen und in myReadByte schreiben (Wert = 1)
  32. while (!eeprom_is_ready());
  33. eeprom_write_byte(&LED1, wLED1);
  34. rLED1 = eeprom_read_byte (&LED1);
  35.  
  36. while (1)
  37. {
  38.  
  39. PORTC=rLED2;
  40. PORTC=rLED1;
  41.  
  42. }
  43. }
RAW Paste Data