-         

Ergebnis 1 bis 2 von 2

Thema: interrruptproblem Timer 1

  1. #1

    interrruptproblem Timer 1

    Anzeige

    Hallo
    ich habe ein Problem mit der Interruptroutine. Das Programm läuft, aber die Variable W_capture1 erhält unterschiedliche Werte, je nach Laufzeit der Interruptroutine obwohl ich doch den Timer1 zurücksetze!
    Hat jemand ein tip, was ich falsch mache?
    Angehängte Dateien Angehängte Dateien

  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,
    ich denke da gibts zwei Probleme,
    einmal ist die Variable ein Integer, das kann dann auch negativ werden.
    Versuche diese als Word zu Dimensionieren.

    Dann ist das eine 2-Byte Variable, evtl. vor der LCD-Ausgabe in eine 2. Tempvariablen kopieren, und da drum die IRQs sperren, damit der Wert während dem kopieren, durch die ISR, nicht verändert werden kann.

    Code:
    Dim W_capture1 As Word
    Dim Temp As Word
    ...
    Disable Interrupts
    Temp = W_capture1
    Enable Interrupts
    LCD Temp 
    ...
    Stichwort dazu ist "atomarer Code", es gibt da einige Dokumente darüber auch hier im Wiki.

Berechtigungen

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