diff --git a/cores/esp32/esp32-hal-misc.c b/cores/esp32/esp32-hal-misc.c index cf8edcf279f..5b193d7a494 100644 --- a/cores/esp32/esp32-hal-misc.c +++ b/cores/esp32/esp32-hal-misc.c @@ -191,8 +191,8 @@ BaseType_t xTaskCreateUniversal( #endif } -unsigned long ARDUINO_ISR_ATTR micros() { - return (unsigned long)(esp_timer_get_time()); +unsigned long long ARDUINO_ISR_ATTR micros() { + return (unsigned long long)(esp_timer_get_time()); } unsigned long ARDUINO_ISR_ATTR millis() { @@ -203,7 +203,7 @@ void delay(uint32_t ms) { vTaskDelay(ms / portTICK_PERIOD_MS); } -void ARDUINO_ISR_ATTR delayMicroseconds(uint32_t us) { +void ARDUINO_ISR_ATTR delayMicroseconds(uint64_t us) { uint64_t m = (uint64_t)esp_timer_get_time(); if (us) { uint64_t e = (m + us); diff --git a/cores/esp32/esp32-hal.h b/cores/esp32/esp32-hal.h index 60350ae960b..c83bf17bb1d 100644 --- a/cores/esp32/esp32-hal.h +++ b/cores/esp32/esp32-hal.h @@ -121,10 +121,10 @@ BaseType_t xTaskCreateUniversal( TaskHandle_t *const pxCreatedTask, const BaseType_t xCoreID ); -unsigned long micros(); +unsigned long long micros(); unsigned long millis(); void delay(uint32_t); -void delayMicroseconds(uint32_t us); +void delayMicroseconds(uint64_t us); #if !CONFIG_ESP32_PHY_AUTO_INIT void arduino_phy_init();