avr_programmieren_rh

EEPROM V3

Jan 2nd, 2018
524
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 eeFooByte EEMEM;                            //Variable eeFooByte im EEPROM anlegen.
  19. uint8_t myWriteByte = 1;                            //Variable myWByte anlegen und den Wert 1 laden. (Wird später in EEPROM geschrieben)
  20. uint8_t myReadByte;                                 //Variable für den Wert der dann aus EEPROM gelesen wird.
  21.  
  22. int main(void)
  23. {
  24.     DDRC=0xFF;                                      //PORTC auf Output
  25.     PORTC=0x00;                                     //PORTC auf null stellen
  26.     DDRB=0x00;                                      //PORTB auf Input
  27.     PORTC=0x00;                                     //PORTC auf null stellen
  28.     //eeprom_write_byte(&eeFooByte, myWriteByte);   //Wert aus Variable myWriteByte in eeFooByte (EEPROM) schreiben
  29.     myReadByte = eeprom_read_byte (&eeFooByte);     //Wert aus eeFooByte (EEPROM) lesen und in myReadByte schreiben (Wert = 1)
  30.     PORTC=myReadByte;                               //Wert aus myReadByte an PORTC übergeben
  31.    
  32.    
  33.     while (1)
  34.     {  
  35.         if (S1)
  36.     {
  37.             myWriteByte=1;
  38.             eeprom_write_byte(&eeFooByte, myWriteByte); //Wert aus Variable myWriteByte in eeFooByte (EEPROM) schreiben
  39.     }
  40.         if (S2)
  41.         {
  42.             myWriteByte=255;
  43.             eeprom_write_byte(&eeFooByte, myWriteByte); //Wert aus Variable myWriteByte in eeFooByte (EEPROM) schreiben
  44.         }
  45.     }
  46. }
RAW Paste Data