Im folgenden Programmteil probiere ich UDR0 zu beschreiben, diese ignoriert allerdings die Aufforderung und sendet stur 0. Der Controller sollte DMX Signal generieren welches aus 513 Frames zu 8bit mit jeweils 2 Stoppbits besteht .Die Usart wurde initialisiert und sendet auch mit der richtigen Baudrate, nur die Frames haben Alle wert null (mit KO gemessen) Mir gehen langsam die Ideen aus... dmxsend1: lds rmp,ucsr0a sbrs rmp,udre0 ret ldi templ,low(ch512out) ldi temph,high(ch512out) cp xl,templ cpc xh,temph brsh makebrake ld rmp,x+ sts udr0,rmp ret Ich habe den completten Code angehängt
Sorry... nochmals den code in aufgeräumter version...
Hi
Im Simulator läuft der Code eigentlich.
>(mit KO gemessen)
Was ist KO?
MfG Spess
mit Jtagice läuft der Code auch durch, lädt die richtigen Werte (128) in rmp und schreibt sie vermeitlich ins UDR0 lediglich wenn ich mir UDR0 anschaue ändert sich der Wert da nicht. senden tut er auch, dh. er hat gemerkt dass auf udrn geschrieben wurde, der break funktioniert auch. Am DMX Tester habe ich gültiges Signal, nur leider überall 0 drin.... Mit KO meine ich Kathodenstrahl Osziloskop. Ich kann jeweils nur die Stopbits sehen. Wenn Ich ein Signal mit dem Tester generiere, kann ich bit für bit sehen... Gemäss dem was das Datenblatt sagt sind auch alle Bedingungen erfüllt, um auf UDR0 zu schreiben.... (Usart Initialisiert, UDRE0 =1 ) Irgendwo ist hier der Wurm drinn....
Folgendes kann ich nun mit sicherheit sagen: UDR0 wird beschrieben,da am Ausgang Signal vorhanden ist (auf dem Oszi sind jeweils die Stoppbits zu sehen dh. gesendeter Wert = 0) alle Frameeigenschaften und Baudrate sind ok, da mein DMX-Tester "valid DMX" anzeigt. Auch die Anzahl der Kanäle stimmt (512) +1 leeres Startbyte (Timing auch per KO überprüft bzw. mit Signal von Lichtpult verglichen) (sowohl Lichtpult als auch DMX-Tester senden DMX gemäss Spezifikation DMX512/1990(signale mit KO vermessen)) Frameeigenschaften: 8bit 2 Stoppbit no parity auf 250k/Baud Weiss jemand was zum ignorieren der Werte, die auf UDR0 geschrieben werden führen kann? (ich stelle diese Frage nach eingehendem und "vergeblichem" Studium des Datenblatts) bin für jede hilfe dankbar....
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.