From 7a5a60304213959b3fb9677df8296b8faf9195a4 Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Tue, 23 Dec 2008 00:17:14 +0000 Subject: Fixing delay() to delay at least N milliseconds. Fixing register name in micros() for ATmega8. --- cores/arduino/wiring.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cores/arduino/wiring.c b/cores/arduino/wiring.c index 2896647..aaf7b86 100755 --- a/cores/arduino/wiring.c +++ b/cores/arduino/wiring.c @@ -59,8 +59,14 @@ unsigned long micros() { cli(); t = TCNT0; + +#ifdef TIFR0 if ((TIFR0 & _BV(TOV0)) && (t == 0)) t = 256; +#else + if ((TIFR & _BV(TOV0)) && (t == 0)) + t = 256; +#endif m = timer0_overflow_count; SREG = oldSREG; @@ -72,7 +78,7 @@ void delay(unsigned long ms) { unsigned long start = millis(); - while (millis() - start < ms) + while (millis() - start <= ms) ; } -- cgit v1.2.3-18-g5258