Forum: Mikrocontroller und Digitale Elektronik AVR atxmega uart sendet nicht


von Lukas B. (lukas_be)


Lesenswert?

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?

von Lukas B. (lukas_be)


Lesenswert?

Okay hat sich erledigt.
Irgendetwas mit dem delay stimmte nicht.
Jetzt funktioniert alles.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.