@Karl Heinz
Tut mir leid, den Code habe ich ganz vergessen. Ich habe ihn aus der
AppNote 306 entnommen.
1 | /* Initialize USART */
|
2 | void usart_init( unsigned int baudrate )
|
3 | {
|
4 | unsigned char x;
|
5 |
|
6 | /* Set the baud rate */
|
7 | UBRRH = (unsigned char) (baudrate>>8);
|
8 | UBRRL = (unsigned char) baudrate;
|
9 |
|
10 | /* Enable UART receiver and transmitter */
|
11 | UCSRB = ( ( 1 << RXCIE ) | ( 1 << RXEN ) | ( 1 << TXEN ) );
|
12 |
|
13 | /* Set frame format: 8 data 1stop */
|
14 |
|
15 | UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); //For devices with Extended IO
|
16 |
|
17 |
|
18 | /* Flush receive buffer */
|
19 | x = 0;
|
20 |
|
21 | USART_RxTail = x;
|
22 | USART_RxHead = x;
|
23 | USART_TxTail = x;
|
24 | USART_TxHead = x;
|
25 | }
|
womit wir schon beim Thema Hazeh waeren:
Du hast recht, der Code aus der AppNote war wohl allgemein fuer alle
Controller gehalten und das URSEL Bit nicht vorgesehen. Jetzt aendert
sich die Baudrate!!! Vielen Dank euch beiden.
Eine Frage haette ich noch, ist es normal dass das Jtag das UCSRC nicht
auslesen kann? Ich sehe im Debugger immer nur 0x00. Im Dateblatt steht
ja was drin, dass es da eine etwas aufwendige zeitabhaengige Prozedur
sein soll. Naja, wie auch immer...soweit sehe ich zumindest eine
Aenderung der Baudrate. :-)