|
Mam pytanie o to makro z Bluebook-a
#define ir_micro_s( num ) ( (num)*(F_CPU/1000 000)/PRESCALER )
załóżmy że preskaler to 8 a F_CPU to 8MHz
Na wejściu prescalera jest więc 1Mhz załóżmy że timer pokazuje wartość 2 tak więc czas dla wartości 2 wynosi 2 okresy czyli T=1/1MHz czyli 2T to 2us
To makro powinno zamieniać nasze mikrosekundy na takty zegara więc powinno być chyba takie #define ir_micro_s( num ) ((num)*(F_CPU/PRESCALER))
To wtedy dla 2us mielibyśmy 2*(8Mhz/8)=2Mhz
____________________________________________________________________________ A dobra już rozumiem trzeba podzielić przez milion żeby wskazywało na liczbę tyknięć 2Mhz/1000 000hz=2
|