[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: what are the correct high/low maximums for _delay_ms()/_delay_us()
From: |
Britton Kerin |
Subject: |
Re: what are the correct high/low maximums for _delay_ms()/_delay_us() |
Date: |
Thu, 23 Jan 2020 13:38:06 -0900 |
On Thu, Jan 23, 2020 at 1:25 PM Joerg Wunsch <address@hidden> 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