Re: Inbetriebnahme der "2." seriellen schnittstelle Kategorie: CC2-Unit & Appl.Board / CC2-Station (von LittleHouse - 7.08.2003 12:51) | |
Als Antwort auf Re: Inbetriebnahme der "2." seriellen schnittstelle von André H. - 7.08.2003 12:30
| |
> Hallo, > > Das ich mich mit dem Zeug noch nich solang beschäftige hamm wir ja schon festgestellt. > > Fakt ist das Programm hängt nach dem 1. Sende versuch! > > > > thread main > > { > > swcom.init(); > > swcom.setspeed(5); > > > > loop > > { > > variablen.e_buf = 0x65; > > swcom.send(variablen.e_buf,1); > > plm.beep(15); > > sleep 100; > > plm.beep(-1); > > } > > > > } > > > > Den Beeper hab ich nur zur Orientierung drin! beim Start piept's einmal! > > Und dann nich mehr!! Aber ich wei� nich wieso?? > > Also, Du hast hier einen etwas ungültigen Code. "Etwas", da der Compiler nicht meckert. > Jedoch habe ich den Code 1:1 ausprobiert und das Programm blieb nicht stehen. > (Compiler DLL FIX3/Beta, OSOPT_V2) > > Was ist die Variable e_buf. Ist es eine Byte-Variable, oder ein Byte-Array? > Ich vermute mal letzteres. (Denn beides schluckt der Compiler.) > Bei einem Array ist folgender Syntax falsch: > variablen.e_buf = 0x65; > Es mu� immer der Index angegeben werden. Hier also > variablen.e_buf[0] = 0x65; > > Ist e_buf eine Byte-Variable und kein Array, so mu�t Du diese mit swcom.put() ausgeben. > > Jedoch kannst Du das Senden noch einfacher überprüfen, indem Du mit put() testest: > thread main > { > swcom.init(); > swcom.setspeed(5); > loop > { > swcom.put(0x65); // man kann auch swcom.put('A'); schreiben > plm.beep(15); > sleep 100; > plm.beep(-1); > } > } > So mu� es auf jeden Fall funzen. > > MfG André H. Yip, danke!! Jetze funzt es.. | |
Antwort schreiben Antworten: |