您尚未登录。

楼主 # 2022-08-15 19:33:28

唉可悲free
会员
注册时间: 2022-08-15
已发帖子: 1
积分: 51

【代码分享】用spi驱动任意数量ws2812

01 WS2812
  智能集成LED光源 WS2812[1] 通过简单的外部接口、特有的级联方案便于利用MCU完成多个LED控制,极大简化了LED控制接口。相比于传统的单片机LED IO口复用控制方案[2] ,使用WS2812则更加的简洁。
02 SPI驱动
      stm32驱动可以参考https://blog.csdn.net/weixin_42078116/article/details/113472620/
      之前试过stm32+spi+dma驱动,效果不错,让MC3172这个好东西不仅端口多,而且全部多线程,完全不需要dma就能实现舒服的切换显示。需要使用的话需要include“ws2812.h”,然后修改ws2812.h中#define WS2812_NUM   14 这里的14是ws2812灯的数量
      之后对ws2812.c中ws2812_spi_init()中的GPCOM3_BASE_ADDR修改成想要的端口组,和想要的p0-3,这里采用的是p1为clk,p2为mosi(PA14),理论上可以改成任何想要的,注意只用到了spi的mosi,理论上clk不要配置也行,需要关注spi频率最好为2.5Mhz
Snipaste_2022-08-15_19-19-03.png
     之后就可以愉快的初始化然后使用了,可用函数如下,采用32位rgb数字,用的较多的算是WS2812_SetAll()设置全部灯,也可以设置一个然后调用WS2812_Show(void)显示
Snipaste_2022-08-15_19-20-30.png
03 注意/坑
     MC3172不能直接使用spi,必须像例程一样,先读取spi缓存区数据,再写入自己的数据,如果直接开启传输,可能会被while卡死
Snipaste_2022-08-15_19-25-31.png
04 效果
QQ图片20220815192003.jpg
视频效果可以到qq群查看
05 其他
颜色表可以在这里查看https://www.office26.com/rgb.html
06 源码
源码已上传码云https://gitee.com/wanglifree/mc3172-test.git

离线

#1 2022-08-15 21:33:38

support_gxchip
Moderator
注册时间: 2022-07-26
已发帖子: 58
积分: 103

Re: 【代码分享】用spi驱动任意数量ws2812

感谢分享,看着很炫酷

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn