USART soll DMX Break erkennen

#3521406
Lesenswert?

Guten Morgen liebe Community,

seit ca. 2 Stunden mache ich mir Kopfzerbrechen darüber, wie ich es 
schaffe das mein uC den Break beim DMX-Signal erkennen kann.

Ich weis, das wenn dieser Break im DMX-Signal gesendet wird, der USART 
einen Framerror erkennnt und das Bit FE im USARTA Register gesetzt wird.

Doch nun zu meinem schlimmeren Problem...

Ich möchte das er danach das Startbyte auslässt und die nächsten 10 
Bytes in einem Array speichert.

Habe dazu folgenden Ansatz:

(USART wurde bereits Initialisiert...es geht nur speziell um das 
Erkennen des Breaks und das Speichern der Bytes in einem Array)

temp=UDR;

if(FE>>0){
dmx_status=Break;
}
else{
dmx_staus=0;
}
if(dmx_status==Break && dmx_count < 10 && array_complete==0){
array[dmx_startadresse+dmx_count]=temp;
dmx_count++;
}
if(dmx_count==10){
array_complete==1;
}

Sind meine Überlegungen richtig?
Ich wäre sehr dankbar für Hilfe, bin Neuling auf dem Gebiet C und DMX :)
#3521435
Lesenswert?

Martin Wende schrieb:
> Dann mach mal die Glotzböppel auf dieser Webseite auf:
> Gibts ne Beschreibung als pdf und auch gleich noch C Code dazu.
> http://www.hoelscher-hi.de/hendrik/light/ressources.htm


Hallo Herr Wende,
ich kenne diese Seite bereits und bin nicht sehr überzeugt von ihr...
Außerdem glaube ich das der C-Code der dort angepriesen wird, nicht 
funktioniert...
Desweiteren ist es nicht meine Art, einfach etwas abzuschreiben, ohne es 
verstanden zu haben.
Mein Ziel ist es, die Vorgänge zu verstehen...

Ich wäre deshalb um eine genaue Erklärung der Vorgänge sehr dankbar :)

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