|
From: | Dave Hansen |
Subject: | Re: [avr-gcc-list] How to (efficeiently !!!) testabitwithinamulti-byte intege |
Date: | Mon, 07 Nov 2005 08:58:09 -0500 |
From: Vincent Trouilliez <address@hidden>
> FWIW, I always had good luck with the delay functions in delay.h for short> hardcoded (usec) delays. Lucky you ! Other than wanting to avoid all this in-line stuff, the reason I replaced _delay_us(40) in my lcd routine, by an empty for loop, is that I accidentally realised that _delay_us(40) produced a 1,500us delay somehow !!! Couldn't figure out why, I set the F_CPU #define properly, and _delay_ms() works perfectly, but _delay_us clearly doesn't. Might be a bug with the particular delay of 40us, don't know, as don't use us delays anywhere else in my program.
Well, as I said earlier, I wrote my own delay_us routine from _delay_loop_2 rather than using the supplied _delay_us. I'm not sure why, it was so long ago. Perhaps it didn't exist back then.
My longest delay (i.e. parameter supplied to the macro) was 10 usec, but I never measured to see how close it was. It couldn't have been over about 100 usec, or the system would not have performed.. I did measure a couple of 1 usec delays, and those were very close to exact.
Regards, -=Dave
[Prev in Thread] | Current Thread | [Next in Thread] |