野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 31647|回复: 7

贡献一份之前找的WS2812全彩RGB灯驱动,亲测可用~

[复制链接]
发表于 2020-5-15 08:49:47 | 显示全部楼层 |阅读模式
搜索了下论坛,发现玩ws2812的人挺少,ws2812可实现256级亮度显示,完成16777216种颜色的全真色彩显示,通过串行级联接口,一根信号线就完成数据的接收与解码;介绍的资料网上很多,大家可以自行查阅,这是之前自己玩的时候找到的一份比较好用的驱动代码;通过STM32的SPI+DMA的方式很方便驱动ws2812灯盘;
在代码中调用LED_SPI_LowLevel_Init()初始化后,就可以调用Color_Update(uint8_t b,uint8_t g,uint8_t r,uint32_t length)来点灯;
可以实现多彩流水灯,色盘,多彩呼吸灯等功能,也可以加上SEP8266通过app来控制灯盘玩;


ws2812.rar

1.91 KB, 下载次数: 185

回复

使用道具 举报

发表于 2020-5-15 11:00:38 | 显示全部楼层
感谢分享,顺便消灭零回复
回复 支持 反对

使用道具 举报

发表于 2020-5-15 11:53:28 来自手机 | 显示全部楼层
有用stc驱动过
回复 支持 反对

使用道具 举报

发表于 2020-5-15 13:43:52 | 显示全部楼层
顶一个
回复

使用道具 举报

发表于 2020-5-15 14:05:22 | 显示全部楼层
收藏一下,有机会可以给媳妇孩子做个小玩具玩玩
回复 支持 反对

使用道具 举报

发表于 2020-5-15 14:40:09 | 显示全部楼层
我也传一个,同样是SPI+DMA。移植简单,这个工程用的是STM32F103C8T6,用其他型号只需要在CUBE里改一下初始化就可以了。里面还有一些花色效果函数。也是取自网络,我在上面优化调整了一下。

  1. #define BLACK                        ((uint32_t)(0x00000000U))
  2. #define RED                                ((uint32_t)(0x0000FF00U))
  3. #define BLUE                        ((uint32_t)(0x00FF0000U))
  4. #define GREEN                        ((uint32_t)(0x000000FFU))
  5. #define YELLOW                        ((uint32_t)(0x0000FFFFU))
  6. #define TURQUOISE                ((uint32_t)(0x00FF00FFU))
  7. #define PURPLE                        ((uint32_t)(0x00FFFF00U))
  8. #define WHITE                        ((uint32_t)(0x00FFFFFFU))
复制代码


捕22获.JPG

WS2812test.rar

488.36 KB, 下载次数: 93

回复 支持 反对

使用道具 举报

发表于 2020-5-20 09:44:02 | 显示全部楼层
看看                                 
回复 支持 反对

使用道具 举报

发表于 2021-6-26 15:45:37 | 显示全部楼层
感谢分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 14:56 , Processed in 0.031333 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表