1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-04-21 10:26:06 +03:00

Move micros, delayMicroseconds, millis to IRAM (#1326)

This commit is contained in:
Ivan Grokhotkov 2016-03-13 23:00:53 +03:00
parent 297bb17c53
commit 652703ef41

View File

@ -59,17 +59,17 @@ void micros_overflow_tick(void* arg) {
micros_at_last_overflow_tick = m; micros_at_last_overflow_tick = m;
} }
unsigned long millis() { unsigned long ICACHE_RAM_ATTR millis() {
uint32_t m = system_get_time(); uint32_t m = system_get_time();
uint32_t c = micros_overflow_count + ((m < micros_at_last_overflow_tick) ? 1 : 0); uint32_t c = micros_overflow_count + ((m < micros_at_last_overflow_tick) ? 1 : 0);
return c * 4294967 + m / 1000; return c * 4294967 + m / 1000;
} }
unsigned long micros() { unsigned long ICACHE_RAM_ATTR micros() {
return system_get_time(); return system_get_time();
} }
void delayMicroseconds(unsigned int us) { void ICACHE_RAM_ATTR delayMicroseconds(unsigned int us) {
os_delay_us(us); os_delay_us(us);
} }