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
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!
Danke für die Antwort! Baudraten-Veränderung haut leider nicht hin (wird nicht von allen DMX Empfängern akzeptiert.. SG Choose
Hab das jetzt mit dem STM32F4 gemacht. Da funktioniert es bestens. Das muss doch mit dem XMega auch gehen.... SG Choose
@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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.