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 ! > Hi an alle! > > 2 Units > > ich schicke auf > > kanal 0 die uhrzeit > kanal 1 Volt > kanal 2 Ampere > > wenn ich nur die Uhrzeit abfrage funktioniert alles, sobald ich ander kanäle abfrage bekomm ich nur mehr Chaos! > > Init Funktion im Main Thread! > can.init(can.SPEED_500,0x07FF,0x0000); > > Funktion : Float Werte senden > > function sendcanf(byte ch,float f) > { byte buffer[7]; > long l; > if tools.KEY[1] == 0 return; > if can.ready(ch) > { l = f * 10000; > mem.putlong(buffer,0,l); > can.send(ch,0x0120,buffer,4); > } > } > > Funktion : Uhrzeit senden > > byte data[7]; > function CanSendTime() > { > if can.ready(0) > { > data[0]=system.second(); > data[1]=system.minute(); > data[2]=system.hour(); > data[3]=system.day(); > data[4]=system.month(); > data[5]=system.year()/100; > data[6]=system.year() % 100; > can.send(0,0x0120,data,7); > } > } > > Funktion : Uhrzeit empfangen > > function ShowCanTime(byte b[]) > { string tmp; > tmp = ""; > str.putintf(tmp, b[2], 2); > str.putchar(tmp,':'); > str.putintf(tmp, b[1], 2); > str.putchar(tmp,':'); > str.putintf(tmp, b[0], 2); > tools.msg2s(0,8,tmp); > /*tmp=""; > str.putintf(tmp, b[3], 2); > str.putchar(tmp,'.'); > str.putintf(tmp, b[4], 2); > tools.msg2s(0,11,tmp); > tools.msg2i(1,12,"",b[5]*100+b[6],4,""); > */ > } > > test Thread : > > byte buf[7],max; > > thread CANREADER > { float tmp; > byte ch; > buf=0; > ch=0; > can.expect(ch,0x0120); > if can.rxd(ch) > { can.get(ch,buf); > system.settime(buf[2],buf[1],buf[0]); > system.setdate(buf[5]*100+buf[6],buf[4],buf[3]); > ShowCanTime(buf); > } > ch=1; > can.expect(ch,0x0120); > if can.rxd(ch) > { tmp=0; > max=can.get(ch,buf); > tools.msg2i(0,12,"#1:",max,1,""); > tmp=mem.getlong(buf,0); > tools.msg2f(1,0,"",tmp/10000,6,3,"V"); > } > > ch=2; > can.expect(ch,0x0120); > if can.rxd(ch) > { tmp=0; > can.get(ch,buf); > tmp=mem.getlong(buf,0); > tools.msg2f(1,9,"",tmp/10000,6,3,"A"); > } > > } > > Erklärung für meine tools.msg2f Funktion > > msg2f(zeile,spalte,string 1,float value,länge,kommas,string 2) > > Ich hoffe auf Hilfe > > mfg Wolfgang