
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Es gibt noch eine weitere Möglichkeit: man programmiert eine Hauptschleife die IMMER durchlaufen wird innerhalb der Hauptschleife werden dann die verschiedenen Unterprogramme aufgerufen in dieser Hauptschleife wird eine Zählvariable in regelmäßigen Zeitabständen erhöht. Für relativ kurze Zeiten kann man dazu die interne Variable timer verwenden für größere Zeitverzögerungen eine Variable alle 1-n Sekunden um eins erhöhen. "warten" heißt in diesem Fall das Programm speichert zu Beginn des Wartevorgangs den aktuellen Zählerwert dann wird bei jedem Hauptschleifendurchlauf geprüft ob die Differenz zwischen (dann) aktuellem Zählerwert und gespeichertem Wert größer "Wartezeit" ist wenn ja ist die Wartezeit vergangen und dann wird die entsprechende Aktion ausgelöst sl Demoprogramm: define Zaehler word define StartZeitSpeicher word define SecondMem word Zaehler = 0 StartZeitSpeicher = Zaehler #loop if second <> SecondMem then gosub Zaehlererhoehen if Zaehler - StartZeitSpeicher > 120 then gosub MachWas 'mach A bis Z auch während der "Wartezeit" goto loop #MachWas print "2 Minuten sind um" StartZeitSpeicher = Zaehler return #Zaehlererhoehen SecondMem = second Zaehler = Zaehler + 1 if Zaehler > 32000 then Zaehler = 0 print minute, second return durch diese Programmiertechnik kann man das Programm alles mögliche Überwachen, steuern, regeln lassen und trotzdem andere Dinge zeitverzögert ablaufen lassen sl > > > Müsste noch erwähnen das es sich um die Micro- Version handelt. > > Ja, dann.... > > > Was ist eine "Interruptroutine". > > ... kannst Du das vergessen. > > Ein Interrupt unterbricht die "reguläre" Arbeit des Prozessors und arbeitet erst mal > die ihm zugewiesene Routine ab. Der Interrupt kann durch ein Signal ab dem/den > Interrupteingang(eingängen) oder per Software durch Timer ausgelöst werden. > > Die Micro bietet diese Möglichkeit nicht. > > Bleibt Dir also nur die Pausenerzeugung durch for... next. > > Henrik > > PS: arbeite Dich doch erstmal grundlegend in die Arbeit mit Microcontrollern ein. > Du findest schon auf dieser Seite reichlich Links.. |
| Antwort schreiben |