Uart von XMega abschalten

Gast #3244905
Lesenswert?

Hi!

Ich muss für die Erzeugung eines DMX Break Signales mit dem 
ATxmega256A3U
die UART abschalten um den TX Pin auf low ziehen zu können. Das 
Abschalten funktioniert auch. Aber ein Zugriff auf den TX Pin ist dann 
nicht mehr möglich. Das geht nur, bevor die UART initialisiert wurde 
oder nach einem Neustart. Kennt jemand das Problem?


SG Choose
Gast #3245191
Lesenswert?

Nö, evtl. falsch abgeschalten?

Lösung ist, die Baudrate so zu verstellen und ein 0x00 Byte in Break 
länge zu schicken... das Stop Byte ist dann das (wie hieß es gleich 
noch? ) egal... wird auch gebraucht... musste mal durchrechnen welche 
Baudrate das war... hab ich gerade nicht im Kopf... aber vorher 
kontrollieren, dass nix gesendet wird!
#3246134
Lesenswert?

@choose,

also das muss gehen wenn du im CTRLB das TXEN_Bit löschst.

Zitat:
Setting this bit enables the USART transmitter. The transmitter will 
override normal port operation for the TxD pin, when
enabled. Disabling the transmitter (writing TXEN to zero) will not 
become effective until ongoing and pending
transmissions are completed; i.e., when the transmit shift register and 
transmit buffer register do not contain data to be
transmitted. When disabled, the transmitter will no longer override the 
TxD port.

Die Frage die sich mir gerade stellt ist nur, ob beim löschen des Bits 
während einer laufenden Übertragung die Deaktivierung des Transmitters 
nur verschoben wird oder ob sich in dem Fall das TXEN_Bit nicht löschen 
lässt.

Sascha
Gast #5634415
Lesenswert?

Ein uralter Beitrag - ich weiß. Aber ich hatte gestern das gleiche 
Problem (mit einem AtTiny817) und google hat mich hier her geführt, aber 
das Thema wurde ja noch nicht abschließend behandelt.

Ich konnte das Problem nun (für mich) lösen - vielleicht hilft es jemand 
anderem ja wenn ich hier schreibe wie.

Wenn man den Transmitter abschaltet ist der Pin erstmal automatisch als 
Eingang konfiguriert (steht so auch im Datenblatt). Ich habe durch 
herumprobieren herausgefunden, das ich zwischen "abschalten" und "Ändern 
auf Ausgang" zwei Takte warten muss ("NOP"). Dann gehorcht der Pin auch 
wieder... :)

Viele Grüße
  Andre

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren