Re: Daten über RS232 Kategorie: Programmierung (von Alex - 6.03.2006 12:34) | ||
Als Antwort auf Re: Daten über RS232 von Matthias Koch - 28.02.2006 19:48 | ||
| ||
> > Hallo! > > > > Ich versuche von Matlab aus einen Integerwert über RS232 an die CControl zu schicken, aber > > sobald die Daten im Eingangspuffer anliegen(überprüft mit hwcom.rxd()) komme ich nicht zu den > > nachfolgenden Anweisungen, statt dessen wird ein Reset des main Threads durchgeführt. Bitte um Hilfe! > > > > > > thread main > > //--------- > > { > > byte i[2]; > > int w; > > > > > > //Initialisieren der Schnittstelle > > hwcom.init(); > > hwcom.setspeed(5); > > lcdext.init(); > > lcdext.clear(); > > lcdext.zahl(10); > > sleep 2000; > > lcdext.clear(); > > lcdext.zahl(13); > > > > > > > > loop > > { > > wait hwcom.rxd(); > > { > > hwcom.receive(i,2,1000); > > w = i[0] or (i[1] shl 8); > > lcdext.clear(); > > lcdext.zahl(w); > > } > > } > > > > > > } > > > > Guten Abend Alex, > > Dein Programm sieht soweit ganz ok. aus. Die Grundstuktur funktioniert bei mir. > Jedoch würde ich vor wait hwcom.rxd() auf jedenfall ein flush setzen. Etwas nervös machen mich > die Klammerung des nichtausgeführten Codes. Falls Du statt dem wait hwcom.rxd() vormals soetwas > wie if hwcom.rxd() { ...} stehen hattest so muss ich sagen, das eine solche Synconisation auf > sporadische serielle Daten bei mir auch nicht sehr gut funktionierten (Datenverlust). > > > thread main > //--------- > { > byte i[2]; > int w; > > > //Initialisieren der Schnittstelle > hwcom.init(); > hwcom.setspeed(5); > lcdext.init(); > lcdext.clear(); > lcdext.zahl(10); > sleep 2000; > lcdext.clear(); > lcdext.zahl(13); > ......... > hwcom.flush(); > loop // Diese LOOP wartet auf serielle Daten von hwcom > { > wait hwcom.rxd(); > hwcom.receive(i,2,1000); > w = i[0] or (i[1] shl 8); > lcdext.clear(); > lcdext.zahl(w); > ... > > } > ........ > } > > Gruss Matthias Hi! Das Problem war das ich die system0002.hex nicht geladen hatte und somit hwcom.receive() nicht funktioniert hat. lg alex | ||
Antwort schreiben Antworten: |