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 ! > Hallo, > habe eine Frage zum Zyklischen Senden über CAN. Ich muss eine Zykluszeit von ca. 20ms einhalten, > weil die Botschaft von einem Gateway geroutet wird. Nur weiß ich nicht, wie ich diese einhalten kann, > weil das Senden zwischen 3-6ms dauert, auch manchmal über 10 ms und ich so keine Wartezeit mit > sleep generieren kann. Vielen Dank schonmal im Vorraus für eure Hilfe. > > Gruß Tobias > > hier noch ein Testprogramm mit statischen Werten, das eine Durchlaufzeit von 3-5ms hat. Oder mach > ich da einen grundlegenden Fehler? > <code> > //Globale Variablen > byte v[7]; > int bz; > > > thread senden > { > if can.ready(1) > { > can.send(1, 0x100, v, 8); > sleep 16; > } > } > > > thread main > { > can.init(4, 0x07FF, 0x0000); > lcdext.init(); > > while 1 > { > lcdext.zahl(bz); > lcdext.clear(); > v[1]=bz; > v[4]=0x20; > v[5]=0x4e; > bz=bz +1; > if bz > 15 bz=0; > run senden; > } > } > </code>