Ja hab das Layout verwendet. Wegen des Diffusors probiere ich derzeit noch verschiedene Sachen aus. Hab das Optimum da noch nicht gefunden.
Das MoMoLight-Projekt findest du hier. Dort gibts aber leider keinen Quellcode, sonst hätt ich den ja schon längst angepasst und auf eMails kommt da auch keine Antwort.
Jetzt brauche ich aber doch mal Hilfe bzgl. der Firmware....
Also die Baudrate umstellen war ja kein Problem ABER wie verändere ich das ganze so, das nich zu Anfang jeden Befehls der Header (0xFF, 0x00, 0x00, 0x0F) erwartet wird und gibt es irgendwo eine Abfrage die definiert das der String genau 19byte haben muss?
Ich hab dann testweise
; Erkennung des Headers
ldi temp,0x00 ;statemachine: Startbyte
cp temp,rs232state
breq startbyte ;
ldi temp,0x01 ;statemachine: StartL
cp temp,rs232state
breq startL ;
ldi temp,0x02 ;statemachine: StartH
cp temp,rs232state
breq startH
ldi temp,0x03 ;statemachine: LEN
cp temp,rs232state
breq LEN
rjmp state_weiter
; Bearbeiten der gefundenen Bytes
startbyte:
ldi temp,0xFF
cp buffer,temp
breq ok_state1 ; Wenn richtiges Byte gefunden
rjmp fail ; Sonst von vorne beginnen
startL:
ldi temp,0x0
cp buffer,temp
breq ok_state1 ; Wenn richtiges Byte gefunden
rjmp fail ; Sonst von vorne beginnen
startH:
ldi temp,0x0
cp buffer,temp
breq ok_state1 ; Wenn richtiges Byte gefunden
rjmp fail ; Sonst von vorne beginnen
LEN:
ldi temp,0x0F
cp buffer,temp
breq ok_state1 ; Wenn richtiges Byte gefunden
// rjmpfail ; Sonst von vorne beginnen
Alles anzeigen
durch "rjmp ok" ersetzt, aber danach akzeptiert er gar keinen Befehl mehr...
Wie gesagt, von Assembler hab ich so gut wie keinen Plan... ein wenig Hilfe wäre echt super!
Gruß
DKVT