24.02.2020 (23:10:52)
8-bit
:
Asi jo, jenom pro upřesnění radši dodám hrany detekuje ten timer, po každé detekci zapíše aktuální hodnotu timeru do capture registru a vygeneruje capture interrupt. Takže není zapotřebí žádný další interrupt vstup. Po uplynutí 5 ms čekej ještě na jeden další capture interrupt abys změřil celý počet period. Nejlepší bude v capture interruptu programově testovat zda těch 5 ms už uběhlo nebo ne. Takže T0 sis poznamenal v prvním interruptu, pak jsi inkrementoval registr s počtem period (třeba n) a teď máš v capture registru T1. Výsledná frekvence je Ftmr * n / (T1 - T0).
Počítat náběžnou i sestupnou hranu ti nijak nepomůže ani kdyby byla střída přesně 50 %. Přesnost této metody nezáleží na měřené frekvenci.