mirror of
https://github.com/arduino/Arduino.git
synced 2024-11-29 10:24:12 +01:00
More accurate delay() function from BenF.
This commit is contained in:
parent
9f755fd414
commit
8f416eb54a
@ -97,10 +97,14 @@ unsigned long micros() {
|
||||
|
||||
void delay(unsigned long ms)
|
||||
{
|
||||
unsigned long start = millis();
|
||||
|
||||
while (millis() - start <= ms)
|
||||
;
|
||||
uint16_t start = (uint16_t)micros();
|
||||
|
||||
while (ms > 0) {
|
||||
if (((uint16_t)micros() - start) >= 1000) {
|
||||
ms--;
|
||||
start += 1000;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Delay for the given number of microseconds. Assumes a 8 or 16 MHz clock. */
|
||||
|
Loading…
Reference in New Issue
Block a user