PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : timer problem (wahrscheinlich nur n denkfehler)



Ceos
29.12.2007, 21:17
ich hab den 72kCount, der hat bei 256 ja nen überlauf, wie kann ich das abfangen? ich muss 65 millisekunden messen und da reicht der counter ja nich -.- ... ich hab das gfühl ich steh aufm schlauch und komm einfach net weiter

damaltor
29.12.2007, 21:31
tjaa... =)

(erstmal grundelgend: mit der neuen lib hast du nur noch einen 36kcount!!)

du könntest dir einen unsigned int machen, und dann in der asuro.c die interruptroutine des timers suchen. da steht bis jetzt nur drin, dass die variable 72kcount erhöht werden soll. wenn du da drunter schreibst dass deine variable auch erhöht werden soll, dann kommst du auf 65536 takte; was sagenhaften 910 ms zwischen zwei überläufen entspricht =)

radbruch
29.12.2007, 21:32
Hallo Ceos

In asuro.c (der CD-Version) wird der Überlauf in der Variablen timebase mitgezählt:


SIGNAL (SIG_OUTPUT_COMPARE2)
{
count72kHz ++;
if (!count72kHz) timebase ++;
}


In deinem Programm kannst du mit

extern long timebase;

auch auf diese Variable zugreifen. Ich hoffe, dass hilft dir weiter.

Gruß

mic

damaltor
29.12.2007, 21:49
...das macht die sache noch einfacher. :D

radbruch
29.12.2007, 22:11
Viele Wege führen zum Ziel...