uart dinge /* * UART * * Created: 08.09.2011 07:03:07 * Author: MessKali */ #include #include //damit man die zeichen in "nicht-informatiker" form senden und empfangen kann //Dinge definieren #define LED_DDR DDRC //definieren der LED DDR #define LED_PORT PORTC //defintion des genauen ports für die DDR #define LED_PORTPIN PC1 //definition des bits /* * UART * * Created: 08.09.2011 07:03:07 * Author: MessKali */ #include #include //damit man die zeichen in "nicht-informatiker" form senden und empfangen kann #include //damit die interrupts eingebunden werden //Dinge definieren #define LED_DDR DDRC //definieren der LED DDR #define LED_PORT PORTC //defintion des genauen ports für die DDR #define LED_PORTPIN PC1 //definition des bits #define max_str_length 23 //festlegen der maximalen string laenge fuer die uart (platz im puffer) //(hier speziell die Badurate + Fehler) #define F_CPU 7372800UL //CPU Frequenz (die des externen Quarzes) #define BAUD 9600L //Baudrate #define UBRR_VALUE 47L //nach der tabelle ausm datasheet ist der wert 47 //globale Variablen definieren volatile uint8_t uart_str_complete = 0; //definieren der variable, die besagt dass die zeichenkette vollstaendig gesendet wurde volatile uint8_t uart_str_count = 0; //variable, die zaehlt wieviele zeichen bereits im string enthalten sind, //muss kleiner (letzes zeichen bestimmt das string ende (\0)) sein wie die maximale anzahl an zeichen im string (max_str_length) volatile char uart_str [max_str_length+1] = "" ; //variable uart_str, die spaeter vom prog weiterverarbeitet wird, wenn das string komplett ist uint8_t uart_LED_blink = 0; //variable, die zaehlt wie oft die LED manuell eingeschaltet wurde //Funktionen definieren //USART INIT void usart_init () //definiton der usart init { UBRRH = UBRR_VALUE >> 8; //UBRRH wert setzen /aus datasheet und tutorial UBRRL = UBRR_VALUE ; //UBRRL wert setzen /aus tutorial //die reihenfolge der definitionen der UBRRH und UBRRL muss eingehalten werden! da ubrr=47, ist ubrh=0 und ubrl=47 (47<255, wegen 8bit und so) UCSRB |= (1<