Guten Abend,
Ich versuche den UART an Port E des atxmegas32A4U zum laufen zu bringen.
Leider empfange ich am Terminalprogram nichts.
Eine LED am TX-Pin des µc hat gezeigt, dass auf dem TX-Pin die ganze
Zeit nur 3,3 V anliegen. Es werden also keine Daten gesendet.
Ich initialisiere den UART wie folgt:
1 | //TX als ausgang
|
2 | PORTE.DIRSET = PIN3_bm;
|
3 |
|
4 | //CPU Takt ist 32MHZ
|
5 | //Als Baudrate ist 19200 gewünscht
|
6 | USARTE0.BAUDCTRLB = 0;
|
7 | USARTE0.BAUDCTRLA = 104;
|
8 |
|
9 | //senden aktivieren
|
10 | USARTE0.CTRLB = USART_TXEN_bm;
|
11 |
|
12 | //8 bit Datenlänge einstellen
|
13 | USARTE0.CTRLC = USART_CHSIZE_8BIT_gc;
|
Gesendet wird wie folgt:
1 | while(!(USARTE0.STATUS & USART_DREIF_bm));
|
2 | USARTE0.DATA = data;
|
leider bleibt der TX-Pin auch bei dauerhaftem Senden auf High.
Habe ich irgendetwas im Quellcode falsch gemacht?