Forum: Mikrocontroller und Digitale Elektronik ATMEGA8 Timer1 Starten Soppen


von muennx (Gast)


Lesenswert?

Hey ich hab ein problem und zwar bin ich wirklich noch ein anfäner was 
es mit microcontrollern angeht und bitte schreibt nicht das ich das 
gcc-tut lesen soll das habe ich mir schon angekcuket.

Ich möcht den 16 Bit timer vom Microcontroller Atmega8
bei einer ansteigenden flanke einfach starten lassen zu zählen und bei 
der nächsten ansteigenden flanke von einem anderen Sensor stoppen 
lassen.

Also Mit den ersten sensor starten und mit dem zweiten stoppen ,

wenn ich das habe dann könnte ich wieter machen aba sorry ich verteh den 
16 bit timer echt net.

Bitte helft mir

von Peter D. (peda)


Lesenswert?

Zum Starten mußt Du die Prescaler-Bits auf den gewünschten Teilerfaktor 
setzen und zum Stoppen auf 0.
Die Flankenerkennung kannst Du mit einem externen Interrupt machen.


Eine andere Möglichkeit ist, den Timer permanent laufen zu lassen und 
die Flankenerkennung mit dem Capture-Interrupt zu machen.
Im ersten Interrupt liest Du dann das Captureregister aus.
Im nächsten Interrupt liest Du es wieder aus und ziehst davon den 
vorherigen Wert ab.


Peter

von muennx (Gast)


Lesenswert?

danke erstmal  für die antwort.

Hast du nicht veielleicht ein codeschnipsel für mich oder ein 
beispielprogamm in C geschrieben.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.