-         

Ergebnis 1 bis 5 von 5

Thema: Timer1-Wert jederzeit abrufbar?

  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987

    Timer1-Wert jederzeit abrufbar?

    Anzeige

    Moin.

    Kurze Frage:
    Das folgende (Teil-)Programm sollte ja von der Struktur her einen 16-Bit-Timer immer wieder von 0-65535 zählen lassen:

    Do
    if x>0 then print x
    Loop

    ISRTimer1:
    Timer1=0
    Return

    ISRInt0:
    x = Timer1
    Print

    Wenn ich nun mit einem Interrupt den aktuellen Timer-Wert abfragen will, erhalte ich aber immer 0. Dass der Zufall es so will und ich immer exakt bei 0 drücke, glaub ich nicht. Woran kann das noch liegen?

    MfG

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    43
    Beiträge
    2.240
    timer auch richtig konfiguriert, dass er auch läuft? die Configs haste nämlich nicht mitgepostet
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    die sind konfiguriert... also der ganzen Config/DIM/Declare-Teil sei mal als korrekt vorausgesetzt, ebenso dass die Interrupts und Timer alle enabled sind...

    Enable Interrupts
    Config Timer1 = Timer, Prescale = 8
    On Timer1 ISRTimer1
    Enable Timer1
    Config Int0 = Rising
    On Int0 ISRInt0
    Enable Int0

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    27.01.2005
    Ort
    München
    Beiträge
    20
    Ich würde anstelle von Print mal Print X versuchen.

    Das Timer=0 im Timer-Interuppt kannst Du dir sparen, da er beim Überlauf sowieso 0 ist.

    MfG

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Also hab die ganze nacht lang probiert (das fehlende X hab ich dann auch noch gefunden)
    Dabei hab ich dann den "Header" auch nochmal neu geschrieben bzw. aus einem alten Programm kopiert... und schon kommen Ergebnisse an.

    Der alte Header war:
    $regfile = "m8def.dat"
    $crystal = 8000000
    $framesize = 32
    $swstack = 32
    $hwstack = 32

    Der neue:
    $regfile = "m8def.dat"
    $crystal = 8000000
    $framesize = 40
    $swstack = 10
    $hwstack = 32

    Macht das nun wirklich so viel aus?

Berechtigungen

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