包含SW2812的多种炫彩模式,比如呼吸灯,跑马灯,水滴灯等,驱动函数都是封装好的,只需要对函数的形参进行修改就可以设置好自己要点亮的RGB灯数,要点亮的颜色,呼吸、流水的速度等。
通过延时机器周期的方式去转换成SW2812的0、1码的方式虽然程序简单,但是会大量占用MCU线程,且会被中断打断,容易导致RGB显示出错。
该程序首先对要发送的RGB数据进行处理后通过指针存储在特定地址,再通过PWM+DMA的方式将RGB数据通过硬件PWM发送出去的同时,也不会占用了MCU的线程导致程序出现异常BUG,使MCU拥有大量线程资源去进行别的控制。
2024-01-22 19:55:43
5.36MB
stm32
1