Ha, 99 passt doch, wenn man die Takte für den Aufruf der ISR beachtet:
https://www.roboternetz.de/phpBB2/ze...=473142#473142
Ein kleiner Nebensatz der viel bewirkt:
Das += bewirkt, dass inzwischen schon erfolgte Zähltakte nicht ignoriert werden.
Das Schicksal meint es mal wieder gut mit mir und winkt als Sir William, der mich dazu anregte, die alten Threads nochmals durchzulesen ;)
Wie Waste das alles rausbekommen hat ist mir echt schleierhaft. Das ist meiner Meinung nach echt genial!
Die Overflow-ISR sieht deshalb nun so aus:
Code:
ISR (TIMER2_OVF_vect)
{
TCNT2 += 99; // += bewirkt, dass schon erfolgte Zähltakte nicht ignoriert werden!
PORTC &= ~acs_36kHz; // bei Nulldurchgang soll die IR-LED aus sein!
if(count36kHz) count36kHz--;
if(acs) acs--;
}
Gemessene Frequenz an den IR-LEDs: 36,22kHz
Gruß
mic
P.S. Ich habe die Abstandsmessung als eigenständigen Thread angelegt. Ich hoffe, das ist o.K. so
Lesezeichen