Re: hwcom, bytearray und der thread mag nicht mehr Kategorie: Programmierung (von JoJo - 8.01.2006 17:47) | ||
Als Antwort auf Re: hwcom, bytearray und der thread mag nicht mehr von André H. - 8.01.2006 14:46 | ||
| ||
Hallo André! Danke für deine ausführliche Antwort. Ist es also so, das man mit den Captures des Moduls cap.c2 auch das interne systemeigenen hwcom-Modul Capture verschachteln kann? Viele Grü�e und nochmal Danke Jochen > Hallo Jochen, > > > �brigens heissts eigentlich hwcom.send(Buf[0],8); oder hwcom.send(Buf,8);? > > Na beides funktioniert jedenfalls nicht. > > Du machst mit hwcom.send(Buf[0],8); einen fehler. > Dummerweise meckert hier der Compiler nicht. > Arrays werden immer ohne Index übergeben, also so: hwcom.send(Buf,8); > > > Und für 8 Bytes muss ich doch einen buf[8] anlegen, den ich aber von [0] bis [7] addressiere, oder? > > korrekt. > > > Hat jemand schonmal ähnliche Pobleme gehabt oder eine Lösung? Bin für Tips dankbar! > > Du machst einen ganz anderen Fehler: > > ... > capture data.flag; > ... > hwcom.send(Buf[0],8); // Problemkind ?????????? > wait hwcom.ready(); > } > release; > ... > > Du verschachtelst Captures, und das ist mit dem Systemeigenen Capture nicht zulässig. > Denn in hwcom wird bereits gecaptured: > //---------------------------------------- > function send ( byte buf[], int length ) > //---------------------------------------- > { > capture; > wait ready(); > inline vmcodes.VM_LOAD_LOCAL_INT; > inline -8; > inline vmcodes.VM_LOAD_LOCAL_INT; > inline -6; > inline vmcodes.VM_HWCOM | (vmcodes.HWCOM_SEND << 8); > release; > } > > Ich sehe zwar in Deinem Code keinen Grund für ein Capture, wenn Du aber wirklich > eines benötigst, dann benutze das Modul cap.c2 um mit verschachtelbaren Captures zu arbeiten. > Die Möglichkeit mit cap.c2 zu arbeiten, ist unabhängig vom Systemeigenen Capture. > > MfG André H. > | ||
Antwort schreiben Antworten: Re: hwcom, bytearray und der thread mag nicht mehr (von André H. - 9.01.2006 16:42) |