Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Timerüberläufe zählen Kategorie: Programmierung Basic (von Matze - 6.05.2013 17:57)
Ich nutze:
C-Control Pro Mega128
Hallo liebe Leute,

ich möchte die verstrichene Zeit messen, die ein Kondensator zum Aufladen braucht. Dazu will ich mir
mit einem Spannungsteiler zwei Referenzspannungen erzeugen und diese mit der am Kondensator anliegen-
den Spannung vergleichen.
Es soll also ein Timer aktiviert werden, wenn die untere Referenzspannung erreicht wird und wieder
gestoppt, wenn die obere Referenzspannung erreicht wird.

Ich habe mit gedacht: Der Timer zählt in 4,36 µs - Schritten, bis er überläuft und von vorn anfängt.
Die Anzahl der �berläufe * diskrete Schritte des Timers * Schrittweite + Aktueller Timerstand
* Schrittweite müsste dann doch theoretisch die Aufladezeit ergeben?!

Um das üben habe ich mal versucht, einen Timer 500 ms lang laufen zu lassen und dann die Anzahl
der �berläufe zu zählen:

Dim counter As Word
Dim Zahl, Zaehler As Word

Sub Ausgabe(Zahl As Word)

     LCD_Init()
     LCD_CursorPos(1)
     LCD_WriteWord(Zahl,5)

End Sub

Sub Counter()

    Zahl = Zahl + 1
    Msg_WriteWord(Zahl)
    Msg_WriteChar(0x0D)
    Irq_GetCount(INT_TIM3OVF)
   

End Sub




Sub main()

               Timer_T3Start(PS_64)
               Irq_SetVect(INT_TIM3OVF,Counter)
               AbsDelay(1000)

               Timer_T3Stop()
               Zaehler=Timer_T3GetCNT()
               'Msg_WriteWord(Zahl)
               Ausgabe(Zaehler)

End Sub


Es funktioniert leider gar nicht :-(

Ihr würdet mir sehr weiterhelfen, wenn ich einen Tip bekommen könnte.


Schöne Grü�e


Mathias


    Antwort schreiben


Antworten:

Re: Timerüberläufe zählen (von Torsten - 10.05.2013 9:41)