ESP_TIMER_ISR on the ESP32-C3
Posted: Sat Jun 01, 2024 10:10 pm
I have used both the ESP32-S3 and the ESP32-C3 (M5Stack Stamp devices.)
On the EPS32-S3 I was able to create an interrupt-service-routine with this configuration:
However, this does not compile for the ESP32-C3 target. Even though I have the high precision timer enabled in menuconfig.
For the ESP32-C3, I am forced to use ESP_TIMER_TASK instead, and trying that gave me unsatisfactory results.
So, are the timers on C3 and S3 fundamentally different? How can I make an interrupt-service-routine for the S3 that does not go via the task system?
On the EPS32-S3 I was able to create an interrupt-service-routine with this configuration:
Code: Select all
const esp_timer_create_args_t periodic_scan_timer_args =
{
.callback = &led_driver_scan_isr,
.dispatch_method = ESP_TIMER_ISR,
.arg = 0,
.name = "ISR",
.skip_unhandled_events = 1,
};
For the ESP32-C3, I am forced to use ESP_TIMER_TASK instead, and trying that gave me unsatisfactory results.
So, are the timers on C3 and S3 fundamentally different? How can I make an interrupt-service-routine for the S3 that does not go via the task system?