Gast
#358664
Hallo,
Ich hab mich gestern ein bisschen mit ICP und Frequenz Berechnung
beschäftigt und hab irgendwie noch verständniss Probleme, glaub ich
zumindest.
Aber erst mal rein symbolisch mein Denkansatz.
F_CPU = 8MHZ
Prescaler = 128
ISR(ICP){
TCNT = 0
Timerwert = ICR1
}
Jede Sek{
fHZ = 62500/Timerwert // 8.000.000/128 = 62500
fHZ aufs Display
}
Hier bei geht die erste Messung in die Hose. Da der Timer ja seit SEI()
durchläuft und nicht seit der ersten Flanke.
Ab der zweiten Messung sollte ja dann eigentlich alles glatt laufen, da
ich bei der Flanke1 den Timer auf 0 setze und bei Flanke2 den Wert
einlese?
Wenn ich jetzt jede Sek oder Min oder ... hingeh und den gerade
aktuellen Wert , so wie oben berechne hab ich dann meine Hertz? Ja oder
Nein?
Und der erfassbare bereich liegt dann zwischen
62500/1=62500Hz und 62500/65535~= 1Hz ?
Nur mit welcher Genauigkeit/Schrittzahl?
Ich hoffe ihr könnt mir helfen Licht ins Dunkle zubringen.