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 @   求隐  阅读(2988)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示