Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > So, ich poste hier nochmal den ganzen Code: > > <code> > type Commands { > string command; > long param1; > long param2; > long param3; > long param4; > } > > Commands COMDATA; > > function Split(string e, byte d, string r[]) { > int a; > int newindex; > newindex = 0; > int last; > last = -1; > int strlegth; > for a = 0...30 { > byte c; > strx.mid(e,c,a,1); > if c == d { > strlegth = (a) - (last + 1); > strx.mid(e,r[newindex],last + 1,strlegth); > newindex = newindex + 1; > last = a; > } > } > } > > function Send(string data) { > int length; > length = str.length(data); > hwcom.send (data, length); > } > > function pReceiveByte(byte Buf[]) returns int { > int a; > for a=0...19 > { Buf[a] = 0; } > int returnval; > returnval = hwcom.receive(Buf, 20, 0); > return returnval; > } > > function pReceive(string data) returns int { > int a; > byte Buf[19]; > int returnval; > returnval = pReceiveByte(Buf); > data = ""; > for a=0...19 > { str.putchar(data, Buf[a]); } > return returnval; > } > > function GotAnswer(string term) returns int { > return strx.comp(term, COMDATA.command); > lcdext.clear(); > lcdext.print(COMDATA.command); // <- "TYPE MISMATCH" > COMDATA.command = ""; > COMDATA.param1 = 0; > COMDATA.param2 = 0; > COMDATA.param3 = 0; > COMDATA.param4 = 0; > } > > thread Inbox { > string rawdata; > string dataset[29]; > int datalength; > datalength = pReceive(rawdata); > if datalength > 0 { > Split(rawdata,32,dataset); > COMDATA.command = dataset[0]; > COMDATA.param1 = strx.getNum(dataset[1]); > COMDATA.param2 = strx.getNum(dataset[2]); > COMDATA.param3 = strx.getNum(dataset[3]); > COMDATA.param4 = strx.getNum(dataset[4]); > } > } > > > thread main { > lcdext.init(); > hwcom.init(); > hwcom.setspeed (8); > > run Inbox; > > Send("?sdn 53 26"); > wait GotAnswer("!sdn"); > Send("?soe 40 46"); > wait GotAnswer("!soe"); > > loop { } > } > </code> > > Der Code macht noch nicht das, was er soll... aber ich würde von euch gerne wissen, warum an > markierter Stelle "type mismatch" gemeldet wird. > > Ich hoffe ihr könnt mir helfen. > > Das Programm braucht > hwcom > strx > lcdext > > Gruß > Johannes