STM32/GD32驱动RGB(ws2812)灯带总结

STM32/GD32是可以支持同时几路输出RGB的数据,解决总计包含如下几种思路:

1.单纯的GPIO操作,时序完全以软件延时设计

优点:设计简单,思路清晰

缺点:耗费系统时间,容易被中断打断,时序易错乱

2.结合DMA->SPI方式,使用DMA直接驱动SPI总线端的发送数据端

优点:巧用SPI传输满足时序要求,利用DMA传输,不耗费系统时间

缺点:无法同时驱动几路LED线路

3.结合DMA->PWM,使用DMA直接驱动PWM模块发送数据

优点:只需要动态调整输出的PWM占空比即可,节省系统占用时间,可同时输出

缺点:最多满足同时输出4路,需要提前计算好各路输出数据

4.结合DMA->TIMER->GPIO,使用DMA直接驱动IO口,

优点:满足多路同时输出,使用位带技术,加快处理数据速度

缺点:最多满足16路同时输出

参考链接:

http://www.openedv.com/forum.php?mod=viewthread&tid=78201&page=1&extra=

https://www.cnblogs.com/shangdawei/p/4762035.html

http://bbs.eeworld.com.cn/thread-643893-1-1.html

 

posted @ 2019-08-21 15:33  求隐  阅读(2915)  评论(0编辑  收藏  举报