OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7384|回复: 15

STM32F103C8使用SPI+DMA驱动WS2812B,附上cubemx工程和源码

[复制链接]

5

主题

28

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2017-8-8
在线时间
15 小时
发表于 2020-1-16 10:58:31 | 显示全部楼层 |阅读模式
本帖最后由 土豆呼叫地瓜 于 2020-1-16 11:00 编辑

闲来无事,翻箱倒柜,找出来以前的WS2812B全彩LED,之前使用的是nop来进行延时,然后驱动LED,但是使用逻辑分析仪抓波形的时候每一个延时的差距还是很大的,于是在网上搜了一下WS2812的驱动方式,共有以下几点:1:普通延时
2:SPI+DMA
3WM+DMA
之前有参考过原子哥的PWM+DMA,但是看的一知半解,于是决定使用SPI+DMA的驱动方式
至于WS2812B(下称LED)的时序什么的,就不多说了,网上一大堆,然后我们分析SPI.
软件我使用的是cubeMX,选择SPI1,然后模式选择Transmit Only Master,Data Size 选择8 Bits,Baut Rate设置为6M
7.PNG
然后点击DMA Settings,设置DMA发送,
8.PNG
然后设置Clock config,这里我设置的速度为48M,
9.PNG
设置完以上参数,就可以生成工程文件了

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2019-5-23
在线时间
13 小时
发表于 2020-11-6 16:39:37 | 显示全部楼层
用户名被占用 发表于 2020-11-6 16:25
刚刚看到官方出的ws2812驱动,供大家参考
源地址http://www.openedv.com/thread-308399-1-1.html

小飞机的源码在这里,上面那个是说明文档,一同服用效果更佳。
HARDWAR\src 文件里添加了 ws2812.c,EXP_MODULE\src 文件里有 module_mgt.c、ledring12.c,module_mgt.c 主要是实现扩展模块的插入检测和电源通断管理。ledring12.c 主要是实现 RGB 灯环显示效果。

Firmware_F411 V1.3.zip

1.73 MB, 下载次数: 258

回复 支持 2 反对 0

使用道具 举报

5

主题

28

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2017-8-8
在线时间
15 小时
 楼主| 发表于 2020-1-16 11:10:11 | 显示全部楼层
在这里说一下,SPI+DMA设置完之后,主要是对数据进行打包,然后再通过DMA将数据发送出去
我的做法很简单,就是判断颜色的二进制0码和1码,如果是0码就在数组里面填0xE0,如果是1码,就填0XF8
void Data_Package(uint8_t dat[], uint16_t len)
{
    uint16_t i = 0, j = 0;
    for(i = 0; i < len; i++)
    {
            for(j = 0; j < 8; j++)
            {
                if((dat[i] & 0x80) == 0x80)
                {
                    data_pack[j + i*8] = 0xf8;
                }
                else
                {
                    data_pack[j + i*8] = 0xe0;
                }
                dat[i] = dat[i] << 1;
            }
    }
    data_pack[len*8]     = 0x80;
}
回复 支持 反对

使用道具 举报

5

主题

28

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2017-8-8
在线时间
15 小时
 楼主| 发表于 2020-1-16 11:13:48 | 显示全部楼层
附上cubeMX工程文件和源码 WS2812B.rar (8.15 MB, 下载次数: 14437)
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2020-2-9
在线时间
5 小时
发表于 2020-2-9 16:12:32 | 显示全部楼层
顶起来,正在学驱动ws1812,网上找的都看得一知半解
回复 支持 反对

使用道具 举报

0

主题

13

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
254
金钱
254
注册时间
2017-8-27
在线时间
107 小时
发表于 2020-3-6 21:34:39 | 显示全部楼层
土豆呼叫地瓜 发表于 2020-1-16 11:13
附上cubeMX工程文件和源码

感谢分享,请问最多可以驱动多少颗呀
回复 支持 反对

使用道具 举报

7

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
257
金钱
257
注册时间
2014-5-12
在线时间
35 小时
发表于 2020-6-4 01:30:51 | 显示全部楼层
学习下,之前用io模拟失败。。。
fishing,or drying the net...
回复 支持 反对

使用道具 举报

0

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
196
金钱
196
注册时间
2019-4-11
在线时间
26 小时
发表于 2020-8-15 20:58:28 | 显示全部楼层
顶起来,正在学驱动
回复 支持 反对

使用道具 举报

1

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2018-6-5
在线时间
11 小时
发表于 2020-9-3 13:59:00 | 显示全部楼层
顶起来
多谢分享
正在研究,希望可以成功
回复 支持 反对

使用道具 举报

8

主题

61

帖子

0

精华

高级会员

Rank: 4

积分
579
金钱
579
注册时间
2020-2-19
在线时间
68 小时
发表于 2020-10-17 21:12:16 | 显示全部楼层
学习一个
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2019-5-23
在线时间
13 小时
发表于 2020-11-6 16:25:03 | 显示全部楼层
刚刚看到官方出的ws2812驱动,供大家参考
源地址http://www.openedv.com/thread-308399-1-1.html

2 , ATK-LED-RING模块.zip

2.11 MB, 下载次数: 154

回复 支持 反对

使用道具 举报

2

主题

474

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6505
金钱
6505
注册时间
2018-6-27
在线时间
549 小时
发表于 2020-11-16 11:04:15 | 显示全部楼层
学习学习,学习学习。
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2020-12-4
在线时间
2 小时
发表于 2020-12-4 18:19:15 | 显示全部楼层
学习中,谢谢
回复 支持 反对

使用道具 举报

1

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2021-1-17
在线时间
9 小时
发表于 2021-1-21 20:48:38 | 显示全部楼层

在吗,能不能私聊指导我一下
回复 支持 反对

使用道具 举报

1

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2021-1-17
在线时间
9 小时
发表于 2021-1-22 19:09:42 | 显示全部楼层
土豆呼叫地瓜 发表于 2020-1-16 11:10
在这里说一下,SPI+DMA设置完之后,主要是对数据进行打包,然后再通过DMA将数据发送出去
我的做法很简单,就是 ...

设置完成后,ws2812b.h还有ws2812b.c怎么配置,main.c又该如何配置呢
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
139
金钱
139
注册时间
2020-7-20
在线时间
41 小时
发表于 2021-2-2 00:46:26 | 显示全部楼层
这个不错,来看看:https://www.bilibili.com/video/BV11o4y1R7Hq
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 07:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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