DMX Transmitter will nicht

#4049010
Lesenswert?

Hey,
vllt. sieht einer von euch meinen Fehler:)
Möchte am UART1 eines ATMEGA2560 einen DMX Transmitter betreiben.
Siehe angehängten Code.Ganz einfach gestrickt,kein Interrupt.
Mit dem Scope konnte ich feststellen,das das Signal sauber aus dem UART 
kommt,auch am RS485 Treiber alles bestens,bis auf die Tatsache,das das 
Reset frame was ja 88us im DMX Protokoll sein sollte,nur die Hälfte lang 
ist,d.h 44us,so,als ob er meine Baudrateumschaltung nicht mitbekommt.Hat 
einer von euch eine Idee woran das liegt?
Angehängte Dateien:
#4049039
Lesenswert?

Du darfst an dieser Stelle nicht das UDRE1 Bit benutzen um 
festzustellen, ob du die Baudrate schon umstellen kannst, sondern musst 
auf das TXC Bit zurueckgreifen.

Hintergrund: das UDR Register ist doppelt gepuffert. UDRE wird dir schon 
gemeldet, wenn du in den Buffer schreiben kannst (der also bereits das 
naechste Zeichen aufnehmen kann). Das bedeutet aber nicht, das das 
momentan gerade rausgetaktete Zeichen schon komplett aus der UART 
draussen ist.

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