CTC-Timer einfach anlegen und einstellen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • CTC-Timer einfach anlegen und einstellen

      Ein Codeschnipsel zur Einstellung des Timer1 auf CTC-Mode.

      Der gewünschten Zeitabstand wird einfach in nsec ins Programm eingetragen. Das war es auch schon.

      Der Compiler errechnet daraus den Vorteiler und den Einstellwert für den nachgeschalteten 16-bit-Teiler.
      Ein nachfolgender Software-Timer verwendet als Zeitbasis den Hardware-Timer und erweitert den möglichen Zeitbereich. Die Zeitvorgabe erfolgt in msec. Danach wird der CTC-Timer und der Interrupt freigegeben.

      Das Beispiel ist eher sinnfrei und soll nur die Verwendung zeigen. Auch viele Timer sind kein Problem. Man legt eine Variable an, und fügt diese in die IRQ-Routine ein:
      If Timer_x => Nicht_abgelaufen Then Decr Timer_x
      If Timer_y => Nicht_abgelaufen Then Decr Timer_y
      If Timer_z => Nicht_abgelaufen Then Decr Timer_z

      Irgendwo im Hauptprogramm ...
      Timer aufziehen -> Timer_x= 123
      Timer prüfen -> If Timer_x = Abgelaufen then ...


      Gruß Floxi


      Dateien
      • CTC_Timer.bas

        (7,01 kB, 70 mal heruntergeladen, zuletzt: )