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
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
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 =)
Hallo Ceos
In asuro.c (der CD-Version) wird der Überlauf in der Variablen timebase mitgezählt:
In deinem Programm kannst du mitCode:SIGNAL (SIG_OUTPUT_COMPARE2) { count72kHz ++; if (!count72kHz) timebase ++; }
extern long timebase;
auch auf diese Variable zugreifen. Ich hoffe, dass hilft dir weiter.
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
...das macht die sache noch einfacher.![]()
Viele Wege führen zum Ziel...
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Lesezeichen