Hi,
ich bin gerade dabei den USART0 des AT91SAM7256 in Betrieb zu nehmen.
Ich schaffe es jedoch nicht, den USART mit der Library von Atmel zu
konfigurieren. Wenn ich die Funktion von der Lib nehme, um den USART zu
initialisieren, bekomme ich im Terminal nur Kästchen als Ausgabe.
Bei meiner eigenen Initialisierung kommt das Zeichen jedoch richtig an.
Init mit der Lib:
1 | unsigned int mode = 0;
|
2 | mode = AT91C_US_CHRL_8_BITS | AT91C_US_PAR_NONE | AT91C_US_NBSTOP_1_BIT;
|
3 |
|
4 | AT91S_USART *usart = AT91C_BASE_US0;
|
5 |
|
6 | // Configure the USART in the desired mode @115200 bauds
|
7 | USART_Configure(usart, mode, 115200, BOARD_MCK);
|
Meine Init:
1 | AT91S_USART *usart = AT91C_BASE_US0;
|
2 | usart->US_BRGR = (BOARD_MCK/115200)/16; //baudrate
|
3 | usart->US_MR = AT91C_US_CHRL_8_BITS | AT91C_US_PAR_NONE | AT91C_US_NBSTOP_1_BIT; //8Datenbits, No parity, 1 Stopbit
|
4 | usart->US_CR = AT91C_US_TXEN; //TXEN
|
Zur Ausgabe verwende ich die Funktion aus der Lib.
Um den Fehler einzugrenzen habe ich mal meine Initialisierung in die
Funktion "USART_Configure" geschrieben mit dem Ergebnis, dass ich nun
auch Kästchen im Terminal sehe. Ich habe mal die komplette main.c
angehängt. Den kompletten Projektordner gibt es hier:
http://www.royalclan.de/files/forum/usart.zip
Wo ist der Fehler?
MfG Jörn