24.10.2019 (12:26:17)
milan
:
pro korektnost bys měl teda když už tak přetypovat pro výpočet hodnotu timeru na float, dělit to 125,0 aby to byl float a pak výslednou frekvenci opět přetypovat. jestli ji chceš v INTu.
jinak dá se ten tvuj dvouřádkovej počet, když stejně tam máš float, hodit do jednoho 1 250 000/timer1
A to to rovnou mužeš zapsat takto:
uint32 freq = (uint32)1250000 / (uint32)TIMER1;
Tak a ted se zamyslet a vyřešit, když ti z nějakého důvodu vyjde dělení nulou nebo větším číslem . takže if (timer1 != 0 || timer1 > 1250000)
Jo a nepotřebuješ float. bude to celočíselné dělení a celkem i rychlé. Nevim jak PIC, ale atmega při zapnutí floatu je líná.