Gast
#67452
Hallo, bitte verweist mich nicht auf Google oder die Forensuche, die habe ich schon bemüht.. Ich möchte gerne mit nem AVR (momentan Mega16) DMX empfangen. Programmiersprache:C (Codevision) Hardware: STK 500, SN 75176 Sagt mir mal ob ich auf dem richtigen Weg bin: -Uart auf 250kbaud eingestellt (UBRRL = (CPU_Takt 16 baud) - 1;) -1 Start Bit, 8 Daten Bit, 2 Stop Bit (UCSRC = (1<<7) | (1<<3) | (1<<1) | (1<<0);) -RX Interrupt an, Receiver an (UCSRB = (1<<7) | (1<<4);) -Globale Interrupt an (#asm("sei");) Soweit die initialisierung. Dann muss ich ja auf nen Break warten, (Frame Error) wie mache ich das am besten? in meiner Interruptroutine (wenn FE gesetzt, dann channel =0, da ja das nächste Byte ohne Frame error Kanal 0 (Start) is? oder besser in meinem Hauptprogramm while (FE gesetzt) channel =0;? Das erste Wort lese ich doch einfach mit value = UDR ein, oder? und zähle meinen channel hoch, bis zum nächsten FE, da setze ich channel wieder auf 0.. Wo ist der Fehler?? Danke, sven