From 7a5a60304213959b3fb9677df8296b8faf9195a4 Mon Sep 17 00:00:00 2001
From: "David A. Mellis" <d.mellis@arduino.cc>
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(-)

(limited to 'cores')

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