- const esp_timer_create_args_t Timer_args = {
- .callback = &timer_callback,
- .name = "Timer",
- .dispatch_method = ESP_TIMER_ISR,
- .skip_unhandled_events = true};
- esp_timer_handle_t timer_handler;
- ESP_ERROR_CHECK(esp_timer_create(&Timer_args, &timer_handler));
- ESP_ERROR_CHECK(esp_timer_start_periodic(timer_handler, 5000)); // 5ms
Using the visualization Software Impulse I can see that in general the Interrupt works on the specified 5ms. However, sometimes the main gets more than 20ms of continuous runtime and the interrupt doesn't get executed within this time. This is shown in the picture.
Can someone imagine what happens here and how to solve this?
Thanks!
Gabriel