hej,
piszę własnie program metronomu dla atmegi162 i mam taki dziwny problem z avr-gcc
Wykorzystuje timer1 16bit i chce wpisać wartość początkową
powyższy kod niedziała (układ niewchodzi w przerwanie). ok rozumiem ze może wyjść wartość z ułamkiem, ale gcc bierze wtedy część całkowitą (chyba). próbowałem robić rzutowanie i nic.
metoda prób i błędów doszedłem do tego że powyższy kod działa(sic!).
Może mi ktoś wytłumaczyć ten fenomen? Przecież oba zapisy są identyczne pod względem arytmetycznym.
piszę własnie program metronomu dla atmegi162 i mam taki dziwny problem z avr-gcc
Wykorzystuje timer1 16bit i chce wpisać wartość początkową
TCNT1 = (0xFFFF - (60*15625)/(g_Licznik) );powyższy kod niedziała (układ niewchodzi w przerwanie). ok rozumiem ze może wyjść wartość z ułamkiem, ale gcc bierze wtedy część całkowitą (chyba). próbowałem robić rzutowanie i nic.
TCNT1 = (0xFFFF - (60*62500)/(g_Licznik*4) );metoda prób i błędów doszedłem do tego że powyższy kod działa(sic!).
Może mi ktoś wytłumaczyć ten fenomen? Przecież oba zapisy są identyczne pod względem arytmetycznym.