
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Jep, die Schleifen sind gewollt. Ich weiß nicht, an welcher Stelle des Signals ich gerade bin wenn die Meßroutine aufgerufen wird. Deshalb warte ich einen Zyklus ab. Das kann auch ein halber Zyklus sein. Kommt drauf an an welcher Stelle ich das Signal abfrage. Aber danach startet erst die Zeitmessung für eine ganze Periodendauer, ich habe ja dann einen definierten Startpunkt. Ich habe statt einer Timer Abfrage das ganze mit Schleifenzählern realisiert und komme bei gleicher Periodendauer immer auf die gleichen Zählerwerte, sowohl für On als auch für Off. Wenn ich die Timer Routine einsetze, dann messe ich manchmal genau 20ms (also Timer um eins inkrementiert) mehr. Ich dachte der Befehl "SYS NO_INT" stoppt den Timer. Was er aber offensichtlich nicht macht. Wenn ich nach den Befehlen "SYS NO_INT" und "SYS FTIMER" noch eine Schleife laufen lasse (z.B.: for i = 1 to 500: next i), und dann erst den TIMER abfrage bekomme ich noch größere Unterschiede. Aber nur machmal. Und dann machmal das richtige Ergebnis plus 0ms, plus 20ms, plus 40ms oder plus 60ms. Gruss, Uwe |
| Antwort schreiben |