On Thu, Jan 23, 2020 at 1:25 PM Joerg Wunsch <j...@uriah.heep.sax.de> wrote: > > As Britton Kerin wrote: > > > I guess the high-res maximums are 262.14 ms / F_CPU in MH for > > _delay_ms() and 768 us / F_CPU in MHz for _dalay_us() regardless of > > the availability of __builtin_avr_delay_cycles(), but > > the way the _delay_ms() and _delay_us() descriptions are written this > > is not entirely clear. Am I correct? > > I think you are. They work beyond that now (has not always been the > case) but lose a bit of accuracy/resolution. > > However, for the usual LED "I want 1 Hz" flasher, it's OK to have two > _delay_ms(500) calls between turning the LED on and off.
Ok thanks. I still think it's worth carefully documenting where the high/low resolution threshold is for all cases though. I was just trying to use the _delay_us() to cross-check some timer1 code and confused myself a bit not hitting the expected resolution due to crossing over the threshold. In my old age I'd probably make them separate functions as they're somewhat overloaded as they are. Britton