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

Reply via email to