Fehler bei der Timer Konfiguration

    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!

    • Fehler bei der Timer Konfiguration

      Hallo zusammen,

      ich habe gerade die paar Errors auf dem Code Explorer gefixt und bleibe aber an einem Fehler hängen.
      Alle Fehler betreffen diese Timer Konfiguration:

      Quellcode

      1. Config Timer1 = Timer , Prescale = 256 , Clear Timer = 0 , Compare A = DISCONNECT
      Die Fehler Lauten:
      • Expected. In File ....... at Line 30, Position 46
      • Statement terminated incorrectl. In File .... at Line 30, Position 55
      • Statement terminated incorrectl. In File .... at Line 30, Position 65
      • Undeclared identifier Clear. in File ... at Line 30, Position 40
      • Undeclared identifier DISCONECTED. in File ... at Line 30, Position 69
      Das macht der Funktion keinen Abbruch, aber dennoch verstehe ich die Fehler nicht und würde die gerne wegbekommen.
      Laut Bascom Hilfe kann man das so machen, wie ich es gemacht habe.

      Könnt ihr mir da bitte auf die Sprünge helfen?

      Vielen Dank
    • Hallo snatch,
      die Optionen in der Timer Konfiguration müssen seit einiger Zeit mit Unterstrich geschrieben werden, also Clear_Timer und Compare_A. Der Compiler erlaubt es aber immer noch.
      Was willst du genau mit dieser Config erreichen? Die Option Clear_Timer=0 ist eher unüblich, weil der Timer standardmäßig eh nicht genullt wird. Clear_Timer=1 hingegen setzt den Timer in CTC Modus, wo bei Erreichen des Compare Wertes der Timer automatisch auf 0 gesetzt wird.
    • Danke dir. Da habe ich wohl eine Änderung verpasst. Sollte mich mehr darüber informieren.
      Mit dem CLEAR_TIMER = 1 statt Null hast du Recht. Das soll nur ein einfacher Timer sein, welcher mit eben regelmäßig in PWM springt. Mehr erstmal nicht. Dort erzeuge ich dann ein PWM. Ich habe 2 Spannungen eine positive und eine negative. Diese beiden Spannungen dürfen niemals gleichzeig anliegen. Und dazwischen muss eine bestimmte Totzeit (beide aus) liegen. Dass kann ich mit dem Hardware PWM nicht so erzeugen. Daher moduliere ich das selbst. Ich kann also einstellen, wieviel Prozent der Zeit die positive Spannung angeschaltet sein soll, wie hoch die Totzeit sein soll und er errechnet mit daraus die negative Spannung und steuert mit dem Ergebnis einen I2C DC-DC Wandler an.
      Da ich mit max. 10 Hz arbeite, funktioniert das so hervorragend.

      Grüße und nochmals Danke für deine Hilfe!
    • Wenn es mal knapp mit Timern werden sollte, kannst du dieses Verhalten auch nur mit dem PWM Timer erzeugen. Die Timer Interrupts funktionieren da ja auch und in der ISR kannst du sämtliche Parameter des Timers ändern. Z.B. den Ausgang A abschalten, nach einer bestimmten Zeit den Ausgang B einschalten und den wieder nach einer bestimmten Zeit abschalten. Und auch den Timer komplett anders konfigurieren. Aber das nur am Rande.