µC1 Sender: #include //Bibliotheken(Headerfiles einbinden) #include #define F_CPU 16000000UL #define BAUD 9600UL #define UBRR_WERT ((F_CPU/(16UL*BAUD))-1) //16MHz/((16UL*9600UL)-1)= 104,16 //Variablendeklaration char Sensor_1bis6; //char Aktor_1bis6; int main (void) { DDRA = 0x00; //Datenrichtungsregister A alles 0 (Eingänge) Sensoren init_uart(UBRR_WERT); //Aufruf von uartinitialisierung übergabe von UBRR_Wert init_timer(); //Aufruf von timerinitialisierung sei(); // globale Interrupts zulassen while(1) { } //endlosschleife um programm nicht zu beenden return 0; //Rückgabewert an das Betriebssystem (wird nie erreicht wegen while Schleife) } void init_timer(void) { // Initialisierung des Timers: TCCR0 |= (1<>8);//die ersten 8 Bit einlesen und um 8 nach rechts verschieben UBRRL = (unsigned char)(ubrr); //die nächsten 8 Bit einlesen UCSRB = (1< //Bibliotheken(Headerfiles einbinden) #include #define F_CPU 16000000UL #define BAUD 9600UL #define UBRR_WERT ((F_CPU/(16UL*BAUD))-1) //16MHz/((16UL*9600UL)-1)= 104,16 //Variablendeklaration char Sensor_1bis6; char Aktor_1bis6; int main (void) { DDRA = 0xff; //Datenrichtungsregister A alles 1 (Ausgänge) Aktoren init_uart(UBRR_WERT); //Aufruf von uartinitialisierung übergabe von UBRR_Wert //init_timer(); //Aufruf von timerinitialisierung sei(); // globale Interrupts zulassen while(1) { } //endlosschleife um programm nicht zu beenden return 0; //Rückgabewert an das Betriebssystem (wird nie erreicht wegen while Schleife) } void init_uart(unsigned int ubrr) { //nur ein register(8Bit) vorhanden deswegen UBRRH = (unsigned char)(ubrr>>8);//die ersten 8 Bit einlesen und um 8 nach rechts verschieben UBRRL = (unsigned char)(ubrr); //die nächsten 8 Bit einlesen UCSRB = (1<