使用ESP32-C3 RMT外设驱动W2812, 发现WIFI运行时W2812会闪烁。
https://docs.espressif.com/projects/esp ... 2812-wi-fi
FAQ中有说这个问题。
使用其他外设如SPI或者LEDC能解决这个问题吗。
使用ESP32-C3 RMT外设驱动W2812
-
- Posts: 290
- Joined: Wed Sep 05, 2018 6:23 am
Re: 使用ESP32-C3 RMT外设驱动W2812
主要原因是用RMT电灯会频繁进入RMT的传输半满中断,wifi的中断优先级非常高,会抢占掉rmt中断,直接导致rmt因为没有及时响应中断而导致发送错误。
解决办法就是使用带DMA的外设去模拟这个时序,比如SPI.
另外,S3上的RMT带有DMA,所以如果你用S3上的RMT(驱动中开启DMA)的话,也不会有问题
解决办法就是使用带DMA的外设去模拟这个时序,比如SPI.
另外,S3上的RMT带有DMA,所以如果你用S3上的RMT(驱动中开启DMA)的话,也不会有问题
Re: 使用ESP32-C3 RMT外设驱动W2812
感谢回复,有没有SPI带DMA的例程参考ESP_morris wrote: ↑Thu Nov 24, 2022 2:43 am主要原因是用RMT电灯会频繁进入RMT的传输半满中断,wifi的中断优先级非常高,会抢占掉rmt中断,直接导致rmt因为没有及时响应中断而导致发送错误。
解决办法就是使用带DMA的外设去模拟这个时序,比如SPI.
另外,S3上的RMT带有DMA,所以如果你用S3上的RMT(驱动中开启DMA)的话,也不会有问题
Who is online
Users browsing this forum: No registered users and 91 guests