> > you don't have to worry about reload jitter that can happen when > > loading the timer low byte with non-zero values > Are you sure there is no jitter if you reset the upper byte only? AFAIK jitter affects just the lower byte. If the timer/counter is free-running and you're looking at and reloading just the upper byte then the lower byte is irrelevant for detection (eg IRQ) purposes Jitter aside, from 7.5.1 "For writes, it is recommended that the user simply stop the timer and write the desired values. A write contention may occur by writing to the timer registers while the register is incrementing. This may produce an unpredictable value in the timer register" I infer from this that only a register that is incrementing could be corrupted, which leads me to conclude that if the low byte is incrementing untouched by s/w and you're reloading the upper byte at a time when it can't be incrementing, then that contention corruption shouldn't (can't ?) cause any problems > But it remains accurate over the long term Yes, exactly. Nothing to get upset about if a cycles-based timer is a second or two out after a few hours. At 24 hours it should be spot on -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist