-         

Ergebnis 1 bis 3 von 3

Thema: Timer Interrupt unter 1.11.9.1 fehlerhaft --> count<&a

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    04.11.2007
    Beiträge
    43

    Timer Interrupt unter 1.11.9.1 fehlerhaft --> count<&a

    Anzeige

    Hallo,

    ich bekomme das Timer Interrupt unter der Bascom Version 1.11.9.1 nicht gebacken. Komischerweise hat dies bei der älteren Version wunderbar funktioniert.

    Der Code wird zwar fehlerfrei compiliert, ein Interrupt aber nie ausgführt.

    Quarz ist intern auf 8Mhz.

    Hier der Code:
    Code:
    $regfile = "m32def.dat"
    $crystal = 8000000
    $hwstack = 256
    $swstack = 256
    $framesize = 256
    
    Config Graphlcd = 240 * 128 , Dataport = Portd , Controlport = Portc , Wr = 6 , Rd = 7 , Ce = 2 , Cd = 3 , Reset = 4 , Fs = 5 , Mode = 6
    
    Config Timer1 = Timer , Prescale = 256
    On Timer1 Timer_irq
    Start Timer1
    Enable Interrupts
    
    Cls
    
    Const Timervorgabe = 34286
    Locate 1 , 1 : Lcd "Interrupts"
    
    
          Do
          Loop
    
    
          Timer_irq:
    
          Timer1 = Timervorgabe
          Locate 2 , 1 : Lcd "test"
          Cls
    Das Benutzerhandbuch besagt, dass man statt Start Timer1 auch Enable Timer1 schreiben kann/muss.

    Dies bring aber immer folgende Fehlermeldung mit sich:

    Unknown interrupt source [COUNT<>3]

    Habt ihr evtl. noch eine Idee woran das liegen könnte?

    Grüße

    Thomas

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo,

    mit Enable Timer1 wird der IRQ des Timers aktiviert,
    mit Start Timer1 wird er gestartet, also das der Timer auch timed
    was nach dem Config Timer auch schon so sein sollte.

    Am Ende der ISR gehört noch ein Return, damits wieder zurück geht.

    Und die ISR ist auch ein klein wenig lang, günstigerweise setzt man dort nur eine Variable, die im Hauptprogramm ausgewertet wird, und dann solche Sachen wie LCD ansprechen usw. erledigt werden. sonst kanns mal passieren, daß sich LCD-Ausgabe aus dem Hauptprogramm und der ISR kreuzen, und dann macht das LCD nix mehr ab da, bis zum nächsten Reset.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    04.11.2007
    Beiträge
    43
    Danke für deine Hilfe.

    Es lag anscheinend an Bascom direkt. Nach einer Neuinstallation tritt die Fehlermeldung nicht mehr auf.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •