From: Vincent Trouilliez <[EMAIL PROTECTED]>

> 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




_______________________________________________
AVR-GCC-list mailing list
AVR-GCC-list@nongnu.org
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list

Reply via email to