-         

Ergebnis 1 bis 5 von 5

Thema: Timer1 des Atmega8/16 ausgeben

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2004
    Beiträge
    118

    Timer1 des Atmega8/16 ausgeben

    Anzeige

    Hallo und schönen Vatertag euch allen!
    Ich habe ein Problem mit dem Timer1, ich möchte dessen aktuellen Wert über die serielle schnittstelle ausgeben. Dafür habe ich diesen kleinen code geschrieben:
    Code:
    $regfile = "m16def.dat"
    $crystal = 8000000
    $baud = 9600
    
    Config Timer1 = Timer , Prescale = 64
    Start Timer1
    
    Dim A As Word
    
    Print "<Test>"
    
    
    Do
    
      A = Timer1
      Print A
      Print Tcnt1h
      Print Tcnt1l
    
    Loop
    
    End
    Nun gibt mir der "Print A" Befehl immer eine 0 aus, wobei der Timer offensichtlich läuft, da die direkte ausgabe der Register realistische Werte liefert. Ich habe den selben code mit einem mega8 und mit einem mega16 getestet, jeweils mit gleichem Ergebnis. Kann sich das jemand erklären? Mach ich was grundsätzliches falsch?

    Vielen Dank schonmal
    Gruß, Markus

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    bei mir im simulator funktioniert es aber.
    Die Werte passen nicht exakt zusammen, da zwischen dem Speichern von Timer1 in A und der Ausgabe von Tcnt1L wegen der Prints sehr viel Zeit ins Land geht.

    Gruß

    Rolf

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2004
    Beiträge
    118
    ja, im simulator funktionierts bei mir auch, aber wenn ichs aufn mega8 berenne, kommt die null raus.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    24
    Beiträge
    1.544
    Hallo Markus,

    probiers mal, wenn du noch

    Code:
    enable interrupts
    enable timer1
    einfügst ..

    Gruß
    Chris

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Zitat Zitat von MarkusH
    ja, im simulator funktionierts bei mir auch, aber wenn ichs aufn mega8 berenne, kommt die null raus.
    Bei mir funktioniert es auf Hardware (Mega8 und Mega16) genauso wie es soll.
    Interrupts brauchst du für das Programm oben nicht, der Timer läuft auch so.
    Welche Bascom Version hast du denn?

    Gruß

    Rolf

Berechtigungen

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