Hallo, ich habe mal wieder ein Problem. Ich weiß nicht ob es beim letzten mal der Fehler schon existierte oder nicht auf jeden Fall, existiert er jetzt und ich bekomm ihn nicht weg. Ein Fehler war bei mir das die DMX Startadresse noch bei 5 statt bei 1 war aber der ist behoben. Aber dennoch kommt das DMX Signal um 1 Signal versetzt bei meiner Lampe an. Also Entweder er sendet aus dem den nicht, er fängt beim Lesen falsch an. Wobei ich das im Simulator nicht festellen konnte bei mir fängt er mit 0 an. Was dazu gekommen ist, sind ist der Break über einen Timer mit Interrup. Der wird aber noch auf 100ns erhöht, damit ich darüber auch gleich eine Uhr mitlaufen lassen kann. Gruß
Ich habe mir den Code nicht angesehen, aber meine erste Frage war, ob du das Startbyte beachtet hast. Das sollte oder muss 0 sein. Wenn du also als erstes Byte nach dem Mark after Break das Byte für den ersten Kanal sendest, wird erst dein zweites Byte als Kanal 1 interpretiert.
MARK AFTER BREAK darf man auch nicht weglassen, beim kurz drübersehen hab ich allerdings keines finden können. Kann mich aber auch irren, wie gesagt, hab nur kurz drübergesehen.
[c] ISR (TIMER0_COMP_vect) { UCSRB |= (1<<TXEN)|(1<<TXCIE); TCCR0 = 0; PORTD |= (1<<1); UDR=0;<--- Das meinst du ? } [/] Das habe ich auch schon gedacht. Aber wenn ich das Weg lasse leuchtet garnichts mehr bei mir. Aber hast recht das ich 2 mal eine 0 Sende. Gruß
hat sich erledigt hab mein Fehler gefunden hab das STARTB komplett in die Timer ISR gelegt und dafür jetzt das STARTB weggelassen und geh gleich in DATA von dort gruß
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.