Hallo,
das Folgende Programm soll vom µC zum PC über die Serielle- Schnittstelle Daten übertragen, das funktioniert aber nicht ganz korrekt. Es kommt nur Datenmüll beim PC an, weiß jemand woran das liegt??
Ich benutze:
- ATMega8-16PI
- 3,6864MHz Quarz
- AVR-GCC
Code:#include <io.h> #include <avr/interrupt.h> #include <avr/signal.h> #define F_CPU 3686400 // 3686Khz #define UART_BAUD_RATE 9600 // 9600 baud #define BAUD (F_CPU / (16L*UART_BAUD_RATE) -1) typedef unsigned char BYTE; typedef unsigned short WORD; int main(void) { //outp (F_CPU / (UART_BAUD_RATE * 16L) - 1, UBRR); UBRRH = (unsigned char) (BAUD >> 8); UBRRL = (unsigned char) BAUD; UCSRB = (1<<TXEN); while(1) { while (!( UCSRA & (1<<UDRE)) ); USART_Transmit('H'); USART_Transmit('a'); USART_Transmit('l'); USART_Transmit('l'); USART_Transmit('o'); USART_Transmit((unsigned char)0x0A); USART_Transmit((unsigned char)0x0D); } return 0; }







Zitieren

Lesezeichen