Forum: Mikrocontroller und Digitale Elektronik Input capture


von Stephan Haringer (Gast)


Lesenswert?

Hallo
wollte eine Impulslänge messen und dazu die input capture funktion
eines Atmega8AU im TLQF Gehäuse nutzen.
das sollte in Bascom geschrieben sein.
Habe es schon oft versucht aber immer wieder alles hingeschmissen und
beginne wieder mal von neuem.
Habe es mal über INT0 Interrupt gemacht (rising edge) in isr stopt der
timer(16bit) wird ausgelesen auf null gesetzt wider gestartet und dann
bei der fallenden Flanke wieder gestopt.
Jetzt sollte es von steigender zu steigender Flanke messen und mit
Input Capture die Impulslänge(Timerstand) in einer Variable
abspeichern.
Ich kriege aber mit Input Capture nix hin.
Im Datenblatt steht, dass die Timerregister in die ICPL/H register
kopiert werden ;timer auf null gesetzt und wider gestartet wird...
das geht aber irgendwie nicht (bei mir)
Bin Dankbar für jede hilfe.

von Εrnst B. (ernst)


Lesenswert?

Beim Input-Capture werden die Timerwerte zwar kopiert, aber der Timer
wird nicht auf 0 zurückgestellt.

Also: Timer laufen lassen, bei der ersten Flanke den Wert auslesen und
speichern, bei der zweiten Flanke die Differenz berechnen.

/Ernst

von Rahul (Gast)


Lesenswert?

[OT]
Endlich mal jemand, der BASCOM programmiert und ins Datenblatt geguckt
hat...
[/OT]
Da steht aber nichts davon drin, dass der Timer zurückgesetzt wird.
Ernst hat schon Recht: Man zieht einfach den ersten Wert vom zweiten
ab. Dass dabei etwas sinvolles herauskommt liegt am beschränkten
Wertebereich.

von Stephan Haringer (Gast)


Angehängte Dateien:

Lesenswert?

wenn ich einen timer starte müste dann nicht ein register von null
raufzählen? und der aktuelle wert in icrl/h kopiert werden?
aber es gib immer nur 0 aus?!
wie muss denn die konfiguration vom timer aussehen?
mfg steff

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.