Můžeš třeba přes přerušení. Časovač TMR1 nastav na (65536-50000) a až přeteče, v přerušení se spustí požadovaná akce. Nebo stejná konfigurace bez přerušení a hlídej až TMR1H změní svuj stav na 0x00 (to je okamžik přetečení).
a co ti brani si to vyskouset v simulatoru co to dela
tak jinak, jak moc presne potrebuje tu casovou hodnotu?
casovac bezi a bezi , pokud nestihnes casovac skontrolovat kdyz je 50k tak mas smulu ,takze ti nezbyde nez jen opravdu cekat az bude tech 50k, no a to uz tam rovnou muzes dat delay,takze musis >=
takze pokud potrebujes presnost dej to do preruseni
pokud ne. tak si hlidej ten T0IF
jak se to vezme , TMR1 ma a bude mit stav ulozenej ve 2 registrech, tim ze si ho nadefinujes jako 1 16bit si max ulehcis zapis
while(TMR1==0xc350)
ale prekladac bude porad porovnavat dva registry, jo a pokud teda bedes definovat ten timer jako 16bit tak 0-0xffff, coz “int” nemusi bejt …
No a kdyby zakladatel vlákna investoval nějakej čas a přečet si v datasheetu ww1.microchip.com/downloads/en/D … 40044E.pdf
kapitolu 7.3 example 7-1 , tak bude vědět jak bezpečně přečíst 16bit hodnotu ze dvou registrů typu časovač.