
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo zusammen. > Die Abfrage von FREQ muß dann aber wirklich exakt im Sekundentakt erfolgen und das bedeutet, das Programm muß permanent den Timer überwachen Dafür muß aber nicht der TIMER überwacht werden. Es reicht von Zeit zu Zeit eine einfache Abfrage, ob die SECOND vom Betriebssystem weitergezählt wurde. Denn FREQ wird standardmäßig synchron zum Weiterzählen der Uhr aktualisiert. Wichtig ist nur, daß der zeitliche Abstand der Abfragen weniger als eine Sekunde beträgt. Ansonsten gibt es in der Download Area auch noch eine "ON TIMER GOSUB-Funktion". > Am elegantesten wäre wohl die Impulszählung über einen Interrupt-Eingang: wenn dort ein Impuls eingeht springt das Programm von jeder beliebigen Stelle aus in die Interuptroutine zählt dort die Zählvariable um eine Einheit hoch und geht dann mit RETURN zurück. Genau so ist FREQ (FREQ1 und FREQ2) auf der 1.1er realisiert. Sobald der Kontroller am FREQ1- oder FREQ2-Pin eine negative Flanke erkennt, wird ein Interrupt ausgelöst und eine Assembler-Interruptroutine des Betriebssystems aufgerufen. Hier werden die Words pulsecnt und pulsecnt2 hochgezählt. Siehe ROM-Listing ab Adresse $1d35. Sobald eine Sekunde vergangen ist, wird FREQ1 gleich pulsecnt und FREQ2 gleich pulsecnt2 gesetzt. Die beiden Zähler pulsecnt und pulsecnt2 werden anschließend gelöscht. Siehe Adresse $106a. Auf der 1.1er ist es übrigens möglich, eigene Assemblerroutinen in diese beiden Interrupts ("Timer Input Capture" und "Timer Output Compare") einzubinden. > Bei der Unit V1.1 ist dieser Eingang - falls überhaupt vorhanden - allerdings nicht dokumentiert, Bei der Main-Unit ist der IRQ-Eingang vorhanden und kann freigelegt (nach außen geführt) werden. Er ist dann genauso nutzbar wie auf der M-Unit. > bei der M-Unit 1.1 ist er zwar zugänglich macht aber Probleme (siehe Forum). Für dieses Problem gibt es schon seit Jahren Patches. Siehe unter anderem "komfortable Behebung des Stackproblems", ebenfalls in der Download Area. Viele Grüße Dietmar Meine Homepage: http://ccintern.dharlos.de |
| Antwort schreiben |