Forum: Mikrocontroller und Digitale Elektronik PIC18F2620 als DMX Receiver


von As B. (b-a)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich möchte einen DMX-Empfänger zum ansteuern von LEDs bauen.
Die Hardware ist aufgebaut und schon überprüft.
Mit der Software habe ich angefangen und bin jetzt auf ein Problem 
gestoßen.
Ich verwende den internen Oszillator mit 8MHz.
DMX benötigt 250 kHz.
Der µC empfängt Daten, bringt aber das FERR-Bit im RCSTA-Register.
Der Baudrategenerator hat die Länge 16 Bit und das Highbaudrate-Bit ist 
gesetzt. Somit muss ich eine 7 nach der Berechnung in das Register 
schreiben.
Ich habe das Application Note von Microchip genommen und den Teil 
kopiert.

Ich vermute ein Fehler bei den ganzen Takten, dass ich irgendwas 
übersehen habe. Den Code habe ich als Datei angehängt. Ich bin für alle 
Tipps Dankbar.

von As B. (b-a)


Lesenswert?

So, habe jetzt ein bisschen mit dem Timer0 gespielt.
Ich benutze den 8 MHz internen Oszillator.
Nachdem ich einen Teiler von 256 im Timer 0 Controllregister eingegeben 
habe und 31250 im Timer0 eingestellt habe hat alle 16 Sekunden der 
Interrupt zugeschlagen. Dann habe ich die PLL aktiviert und nun hat der 
Interrupt natürlich alle 4 Sekunden zugeschlagen. Nachdem ich den Teiler 
im Timer 0 Controllregister auf 64 gestellt hatte, schlug der Interrupt 
jede Sekunde zu.

Die Formel lautet doch normalerweise (8MHz/(250kHz*4))-1
Oder heißt es (2MHz/(250kHz*4))-1

von As B. (b-a)


Angehängte Dateien:

Lesenswert?

Also direkt Daten per RS232 zu übermitteln funktioniert. Es muss mit 8 
MHz gerechnet werden. Nur mit Freestyler funktioniert es nicht, das die 
Daten richtig empfangen werden. Hat jemand eine Idee?
Ich habe den überarbeiteten Quelltext angehängt.

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
Noch kein Account? Hier anmelden.