Fix hardware timers
Fixes: https://github.com/espressif/arduino-esp32/issues/5337 Fixes: https://github.com/espressif/arduino-esp32/issues/4743 Thanks to @maxgerhardt
This commit is contained in:
parent
21947ebe76
commit
8f46bade7a
@ -47,7 +47,7 @@
|
||||
#define HWTIMER_LOCK() portENTER_CRITICAL(timer->lock)
|
||||
#define HWTIMER_UNLOCK() portEXIT_CRITICAL(timer->lock)
|
||||
|
||||
typedef struct {
|
||||
typedef volatile struct {
|
||||
union {
|
||||
struct {
|
||||
uint32_t reserved0: 10;
|
||||
@ -272,6 +272,12 @@ void timerEnd(hw_timer_t *timer){
|
||||
}
|
||||
|
||||
void timerAttachInterrupt(hw_timer_t *timer, void (*fn)(void), bool edge){
|
||||
#if CONFIG_IDF_TARGET_ESP32
|
||||
if(edge){
|
||||
log_w("EDGE timer interrupt does not work properly on ESP32! Setting to LEVEL...");
|
||||
edge = false;
|
||||
}
|
||||
#endif
|
||||
static bool initialized = false;
|
||||
static intr_handle_t intr_handle = NULL;
|
||||
if(intr_handle){
|
||||
|
Loading…
Reference in New Issue
Block a user