Alle Verbesserungen und Erweiterungen die wir im Laufe eines Jahres zusammengetragen haben sind in...
Die Lenkerempfindlichkeit wird jetzt je nach Geschwindigkeit korregiert
Hier stelle ich 2 DMX512-Sender vor: der Erste nutzt die Hardware-USART und Bascom Highlevel Befehle. Beim Zweiten bilde ich das DMX-Signal Bit für Bit nach und erreiche so ein exakt normkonformes Signal. Das Timing ist jedoch auf 8 MHz berechnet, es kann kein anderer Quarz verwendet werden.
Die USART eines AT-Mega bietet eigentlich schon alles, was man zum Senden von DMX-Signalen braucht. Jedoch muß man ein Problem mit Arrays > 255 umschiffen. Deshalb habe ich die 512 Kanäle auf 3 Arrays verteilt. Wenn nicht alle Kanäle gesendet werden müssen, kann man die unnötigen einfach weglassen.
Für das Senden von DMX512-Signalen habe ich das Signal laut Datenblatt komplett nachgebildet. Das Array Puffer() hält alle Werte der 512 Kanäle. Alle 512 Kanäle werden auch gesendet! Die DMX-Routine liegt in einem Interrupt um ungestört senden zu können.
Achtung! Das Senden mit der Usart des Microcontrollers ist in den meisten Fällen komfortabler und einfacher zu verstehen. Wer jedoch einen Testsender als Ziel hat kann mit der hier vorgestellten Nachbildung Einfluß auf alle Parameter des DMX-Signals nehmen. Dies macht man durch Einfügen von Schleifen mit NOPs, die länger oder kürzer eingestellt werden.