Zdravím, nedávno jsem se začal zabývat programováním mikroprocesorů a teď jsem narazil na problém. Chtěl bych např. z generátoru přivádět signál do mikroprocesoru a měřit jeho periodu (připadně frekvenci). Jde nějak nastavit timer aby se spustil např. při sestupné hraně a při té samé hraně se potom zastavil a já mohl odečíst periodu? Případně bych chtěl poprosit o vysvětlení, jak ji měříte vy. Používám mikroprocesor Atmega16 …Díky moc
Tak jsem si to všechno prošel, díky.A teď taková moje úvaha… Šlo by přivést signál z generátoru na vstup vnějšího přerušení INT0 a toto přerušení nastavit tak, že by se spouštělo při sestupné hraně. Timer1 nastavit jako counter a pokud by došlo k přerušení na INT0, tak by se ten counter spustil a pokud by došlo podruhé k přerušení na INT0(uběhla by perioda), tak by se counter zastavil, uložil bych counter do nějaký proměnný a pak bych to přepočítal? Díky
ano. V prvom preruseni skontrolujes, ci timer bezi. Ked nebezi, vynulujes TCNT a spustis ho. Ak bezi, zastavis ho a ulozis hodnotu z TCNT. Pripadne mozes rovno po ulozeni hodnoty z TCNT znovu timer spustit, ale predtym vymaz TCNT. No a nezabudni na mozne pretecenie timera, ktore treba priratat k tej ulozenej hodnote z TCNT.