-         

Ergebnis 1 bis 2 von 2

Thema: timer extern starten

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    14.03.2007
    Beiträge
    57

    timer extern starten

    Anzeige

    hallo

    ich möchte gerne den timer 1 im mega8 dazu nutzen mir die zeitdifferenz von 2 steigenden flanken zu messen. allerdings folgt hierbei einem langen zeitabstand ein kurzer und dann wieder ein langer usw. der lange beträgt maximal 3/4 sekunde der kurze maximal 1/4. ergeben somit in der summe 1 sekunde. im schlimmsten fall beträgt die summe von beiden nur 1/1000 sekunde. nun will ich den timer bei einer flanke starten und bei nächster flanke auslesen und gleichzeitig wieder starten. bis jetzt habe ich das mit int0 gemacht ..

    on int0
    stop timer1
    a=timer 1
    timer1 = 0
    start timer1

    und dann habe ich die messwerte abwechselnd unter verschiedene variablen gespeichert...

    mein problem ist nun, dass die gesamte routine ganz schön lange dauert, und deswegen bei hohen frequenzen sich die interruptroutine verschluckt.

    im datenblatt habe ich nun gelesen, dass man das auch direkt an pb0 triggern kann ohne "start timer... stop timer.." usw.

    kann mir bitte dafür mal jemand nen beispielcode senden, ich finde dazu nix in der hilfe oder hier im forum

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    on int0
    a=timer1-2 'Zeit, die der Befehl braucht, wird abgezogen
    timer1=0

    return

    Dann evtl den Takt erhöhem, um mehr Reserve für die Auswertung zu haben.

Berechtigungen

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