unbekannter Interupt

    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!

    • unbekannter Interupt

      BASCOM-Quellcode: Timer2_PWM

      1. $regfile = "m328def.dat"
      2. $crystal = 16000000 '16MHz
      3. $hwstack = 20
      4. $swstack = 20
      5. $framesize = 40
      6. Ddrb.3 = 1
      7. Config Timer2 = Pwm , Clear Timer = 1 'Fast PWM Mode
      8. Tccr2a = &B10000011 'no invert, Fast Mode
      9. Tccr2b = &B00001110 'Fast Mode, Prescale 256
      10. Timsk2 = 3 '&B00000011 '2 enable ocie2a , enable tov int
      11. Enable Interrupts
      12. ON tifr2.0 timer2_ovint 'TOV2 Timer2_ovint 'overflowint
      13. ON tifr2.1 timer2_int 'ocf2a Timer2_int 'compmatchint
      14. beim compilen wird gemeldet
      15. Error : 117 Line : 16 Unknown interrupt [TIFR2.0] , in File : C:\MCS\BASCAVR2082\Samples\timer2_prozent_berechnung.bas
      16. Error : 117 Line : 17 Unknown interrupt [TIFR2.1] , in File : C:\MCS\BASCAVR2082\Samples\timer2_prozent_berechnung.bas
      Alles anzeigen
    • Okay Pluto25, das hat funktioniert! Danke für diese Info.

      OCFA taucht in der Hilfe zu ON Interupt .... nicht auf. Gibt es andere Infos als in der Hilfe beschrieben?
      Wieso funktioniert die Bezeichnung die Mitch64 irgendwo angegeben hat mit Set TCCR2B.WGM22?
      Dies ist Atmel typisch und funktioniert, aber meine typischen Bezeichner nicht.
      Gibt es Erklärungen für solcherlei Unterschiede?
    • bitlogger schrieb:

      Set TCCR2B.WGM22
      Dazu ist kein Interuptvector nötig.( Set tifr2.0 oder Set Tifr2.Ocf2a hätte funktioniert) In der jeweiligen dat sind die Pins und Interrupts aufgelistet mit denen Baskom die richtige Zuordnung erstellen kann. Die Namen unterscheiden sich manchmal vom Datenblatt. (Tifr2.1 Datenblatt OCFA, Baskom Ocf2a)
      Etwas cryptisch zu lesen aber gut brauchbar wenn ein Pin oder Int Fehler auswirft.
      Für Dein Problem ist da die Zeile: "INTname7=OC2A@COMPARE2A,$00E,TIMSK2.OCIE2A,TIFR2.OCF2A" informativ.
    • Ja die Erklärung gibt es.

      TCCR2B.WGM22 bedeutet, dass auf Bit WGM22 im Register TCCR2B zugegriffen wird.
      WGM22 ist eine Konstante, die im Dat-File (z.B. m8def.dat) definiert ist.
      Das kann bei dem einen Controller Bit 3 sein, bei einem anderen Bit 5.

      Einen Interrupt kann man mit dem Konstrukt in Bascom nicht konfigurieren (On <interrupt> <label>)
      Dafür muss man die Interrupt-Bezeichner nehmen, die für die Interrupts angegeben sind.

      Wenn man zu faul ist im Datenblatt zu schauen (so gehts mir öfters), wie ein Interrupt heißt,
      Compiliere ich einfach das Programm und gehe in den Simulator und schau dort, welche Interrupts der Controller kennt.