-
        

Ergebnis 1 bis 5 von 5

Thema: Anfänger hat Probleme mit Timer in der Simulation

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    14.01.2008
    Beiträge
    8

    Anfänger hat Probleme mit Timer in der Simulation

    Anzeige

    Hallo,

    ich versuche ( als blutiger Anfänger) in folgendem Program den Timer0 in der Simulation auszulesen. Das gelingt mir aber nicht, der Wert bleibt immer 00.
    Wo liegt der fehler?
    $regfile = "ATtiny13.DAT"
    $crystal = 1000000
    Config Portb.4 = Output
    Config Portb.0 = Input
    Config Portb.7 = Output
    $hwstack = 22

    Config Timer0 = Counter , Prescale = 1
    Enable Timer0


    Dim Timergestarted As Boolean
    Dim Zaehler As Integer


    Led Alias Portb.4
    Puls Alias Portb.0
    Ausgang Alias Portb.7


    Timergestarted = 0
    Zaehler = 0

    Stop Timer0
    Timer0 = 0

    Do
    If Puls = 1 Then
    If Timergestarted = 0 Then
    Led = 1
    Start Timer0
    Timergestarted = 1
    End If
    End If

    If Puls = 0 Then
    If Timergestarted = 1 Then
    Led = 0
    Stop Timer0
    Zaehler = Timer0
    Timergestarted = 0
    End If
    End If

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    29.12.2007
    Ort
    Essen
    Alter
    26
    Beiträge
    5
    Bevor du in die do-loop-schleife gehst stoppst du den timer und setzt sogar auf null, heißt der ist GAR nicht mehr definiert. Du müsstest ihn NOCH einmal definieren......
    digitalisierte Fahrräder wären praktisch =D> =D>

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Hallo,
    das mit dem Start und Stop Timer0 ist so schon ok, aber wenn das Ganze von dem Input Pin B.0 abhängen soll, dann musst du den mit

    Puls Alias Pinb.0

    angeben, sonst fragst du nur den Pullup Widerstand ab.
    Eizelne Pins soll man laut Manual immer mit

    Config Pinb.4=Output
    Config Pinb.0=Input

    angeben, funktioniert im Moment aber auch so.
    Im Simulator auch daran denken, das Häkchen bei "Sim Timers" zu setzen.

    Gruß

    Rolf

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    705
    Vor allem liegt´s aber hier dran:

    Code:
    Config Timer0 = Counter
    Damit arbeitet der Timer als Zähler, d.h. er zählt nicht im Systemtakt, sondern wird von einem externen Clock-Signal gesteuert (das beim Tiny13 an PinB.2 angelegt werden müsste).

    Mit

    Code:
    Config Timer0 = Timer, Prescale=1
    sollte Timer0 auch ordentlich hochzählen.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    14.01.2008
    Beiträge
    8
    Besten Dank,
    habe den timer zum laufen bekommen.

Berechtigungen

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