From dc768384ebb9251bbf4ded8c0c4e8e268da9493e Mon Sep 17 00:00:00 2001 From: ChenZhengwei20190741 Date: Thu, 12 Nov 2020 11:11:55 +0800 Subject: [PATCH] bugfix(pwm): PWM cannot drive GPIO properly because there is no enable TSf0 interrupt for PWM. --- components/esp8266/driver/pwm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/components/esp8266/driver/pwm.c b/components/esp8266/driver/pwm.c index df079d31..6d4babfd 100644 --- a/components/esp8266/driver/pwm.c +++ b/components/esp8266/driver/pwm.c @@ -549,6 +549,10 @@ esp_err_t pwm_init(uint32_t period, uint32_t *duties, uint8_t channel_num, const uint8_t i; + /*enable tsf0 interrupt for pwm*/ + REG_WRITE(PERIPHS_DPORT_BASEADDR, (REG_READ(PERIPHS_DPORT_BASEADDR) & ~0x1F) | 0x1); + REG_WRITE(INT_ENA_WDEV, REG_READ(INT_ENA_WDEV) | WDEV_TSF0_REACH_INT); + if (ESP_ERR_NO_MEM == pwm_obj_malloc(channel_num)) { pwm_obj_free(); return ESP_ERR_NO_MEM;