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 Bram, > > <b>First:</b> Please use the right category. This belongs to "Programmierung", > not to "Progr.Assembler, TaskingTools, OS" ! > > <b>Second:</b> Please update your CC2-Station to OSOPT V3.0 or OSOPT V3.1 Beta 1. > There ist no more support to the original OS. > > > //======================================================================== > > if ports.getcount(0) // pulse rotating encoder A in (1 pulse 360 grd.) > > i = 0; > > if ports.getcount(1) // pulse rotating encoder A in speed 1,5 kHz (300 rpm: 200 pulse per 360 grd.) > > { > > i = i + 1; > > m[i] = ports.adc(0); // is this my time problem: m[i] or the adc? it works but till to +/- 50 rpm. > > } > > //========================================================================= > > I think your main problem is the whole thread, which needs to much Time. > Make an own thread for these few lines: > <code> > int i, m[250]; > thread encoder > { > i=0; > loop > { > if ports.getcount(0) i = 0; > if ports.getcount(1) > { > i = i + 1; > m[i] = ports.adc(0); > } > } > } > > thread main > { > // Initializations > // ... > loop > { > // main-program-loop > //... > if <start-condition> run encoder; //start-condition for encoder-thread > //... > if <stop-condition> reset encoder; //stop-condition for encoder-thread > //also: halt encoder; (without resetting thread) > //... > } > }</code> > > regards, > André H.