Gast
#479245
Hallo zusammen! Ich habe mir die uart libary von Peter Fleury http://homepage.hispeed.ch/peterfleury/avr-software.html#libs runtergeladen und versuche nun eine Verbindung zwischen PC un uC aufzubauen. Dazu benutzte ich das Codebeispiel von Fleury. Aber es will einfach nicht klappen!! Verwende STK500 mit 3.68 Mhz internem clock. Der PC sendet ein Zeichen und bekommt ein völlig falsches Zeichen zurück. Ab und zu kommen auch fehlerhafte Packete zurück. Ich verwende HTerm auf dem PC. Einstellung: 9600 Baud, Data 8 , Stop 1, Parity none, CTS Flow control keine Die Baudrate sollte stimmen und das UBRR Register habe ich im Simulator überprüft : 23 Ich habe schon den Code durchgeforstet und überprüft, was der uC alles ausführt. Das ist der init Abschnitt der er ausführt für den ATmega16: void uart_init(unsigned int baudrate) { UART_TxHead = 0; UART_TxTail = 0; UART_RxHead = 0; UART_RxTail = 0; #elif defined (ATMEGA_USART) /* Set baud rate */ if ( baudrate & 0x8000 ) { UART0_STATUS = (1<<U2X); //Enable 2x speed baudrate &= ~0x8000; } UBRRH = (unsigned char)(baudrate>>8); UBRRL = (unsigned char) baudrate; /* Enable USART receiver and transmitter and receive complete interrupt */ UART0_CONTROL = _BV(RXCIE)|(1<<RXEN)|(1<<TXEN); /* Set frame format: asynchronous, 8data, no parity, 1stop bit */ UCSRC = (1<<URSEL)|(3<<UCSZ0); Weis nicht mehr weiter. Hat das vieleicht scho jemand gemacht? ober sieht den Fehler. Gruss El