OpenEdv-开源电子网

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

求F103普通IO口控制WS2812B的RGB灯

[复制链接]

5

主题

13

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2017-11-21
在线时间
17 小时
发表于 2017-11-24 12:43:02 | 显示全部楼层 |阅读模式
12金钱
做设计的时候粗心的了一些,用了STM32F103C8T6的普通IO口PA0口做RGB的数据口,现在要哭惨了,因为时序没那么准确,点的灯值并不准确,求能稳定控制10个WS2812B的RGB灯珠的代码,全部内部定时器什么的都能用,只是引脚改不了,复制能用直接给赏金

最佳答案

查看完整内容[请看2#楼]

普通io口模拟通信时序啊
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

406

帖子

0

精华

高级会员

Rank: 4

积分
795
金钱
795
注册时间
2015-3-26
在线时间
151 小时
发表于 2017-11-24 12:43:03 | 显示全部楼层
普通io口模拟通信时序啊
回复

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2017-11-24 15:09:53 | 显示全部楼层
IO模拟
回复

使用道具 举报

5

主题

121

帖子

0

精华

高级会员

Rank: 4

积分
615
金钱
615
注册时间
2016-1-26
在线时间
149 小时
发表于 2017-11-24 17:45:25 | 显示全部楼层
定时器中断控制引脚输出
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165312
金钱
165312
注册时间
2010-12-1
在线时间
2108 小时
发表于 2017-11-25 00:12:26 | 显示全部楼层
参考我们minifly的灯环模块

回复

使用道具 举报

3

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2013-7-10
在线时间
33 小时
发表于 2018-5-6 14:54:02 | 显示全部楼层
本帖最后由 通宵敲代码 于 2018-5-6 14:58 编辑



这只用原子的例程改过来的,
用TIM2_CH1通过PWM信号进行驱动,
正好对应着GPIO的PA0端口,
时序比较准确,可以稳定使用。

同时统一回复说一下楼上的各位,
用定时器中断模拟信号的方式不可行,
WS281X的灯珠通信周期不到2us,
高低电平变化都在百纳秒级上,
M3内核的单片机算理根本不够,
M4系列都不行,M7的估计还差不多,

STM32F1_DMA_PWM_WS2813E_2018_05_06.zip (3.28 MB, 下载次数: 3794)
年轻就要拼一把!!!
回复

使用道具 举报

4

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
217
金钱
217
注册时间
2015-8-5
在线时间
43 小时
发表于 2018-8-7 13:46:59 | 显示全部楼层
赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞
回复

使用道具 举报

26

主题

355

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1770
金钱
1770
注册时间
2017-4-1
在线时间
432 小时
发表于 2018-8-7 13:56:45 | 显示全部楼层
给你两个方向,都可以实现,而且很稳定。一是PWM,二是SPI控制
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2015-3-15
在线时间
2 小时
发表于 2018-9-7 22:28:24 | 显示全部楼层
通宵敲代码 发表于 2018-5-6 14:54
这只用原子的例程改过来的,
用TIM2_CH1通过PWM信号进行驱动,
正好对应着GPIO的PA0端口,

学习一下
回复

使用道具 举报

17

主题

329

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2530
金钱
2530
注册时间
2016-3-6
在线时间
392 小时
发表于 2018-9-8 23:25:31 | 显示全部楼层
参考学习一下
路漫漫其修远兮,吾将上下而求索。
回复

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2018-11-2
在线时间
7 小时
发表于 2018-11-2 19:25:16 | 显示全部楼层
想问下  需要并行11个灯圈  (一个灯圈包含24个灯珠)  + 一个灯带(灯带中有100个灯珠)   MCU使用STM32F103C8T6  这个可以运行吗?我试了 总是不能达到预期效果,想要灯圈跟灯带都正常亮同一种颜色。有没有大佬有这块的代码,或者熟悉这块麻烦指点下啊!QQ:634299815  非常感谢
回复

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2018-11-2
在线时间
7 小时
发表于 2018-11-2 19:27:37 | 显示全部楼层
我现在使用延迟可以让10个灯圈亮一种颜色,或者1个灯带亮 ,同时运行就会时序混乱。使用DMA+PWM方式,一个定时器对应一个灯圈可以,但是多个就不亮了,不知道是什么原因
回复

使用道具 举报

0

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2014-2-27
在线时间
8 小时
发表于 2018-11-26 11:26:04 | 显示全部楼层
学习学习
回复

使用道具 举报

0

主题

16

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2018-12-18
在线时间
10 小时
发表于 2018-12-18 16:00:39 | 显示全部楼层
之前用 ATTINY13A 的内部 9.6MHz 振荡,普通 IO 口驱动过 72 个 WS2812B 做流水灯
回复

使用道具 举报

1

主题

8

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2019-8-6
在线时间
3 小时
发表于 2019-8-15 09:13:51 | 显示全部楼层
通宵敲代码 发表于 2018-5-6 14:54
这只用原子的例程改过来的,
用TIM2_CH1通过PWM信号进行驱动,
正好对应着GPIO的PA0端口,

兄弟,可以给个联系方式吗?有事想单独请教,谢谢!
回复

使用道具 举报

3

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2013-7-10
在线时间
33 小时
发表于 2019-8-28 15:16:50 | 显示全部楼层
daidai0626 发表于 2019-8-15 09:13
兄弟,可以给个联系方式吗?有事想单独请教,谢谢!

加Q吧,我资料里有
年轻就要拼一把!!!
回复

使用道具 举报

72

主题

245

帖子

0

精华

高级会员

Rank: 4

积分
507
金钱
507
注册时间
2015-11-13
在线时间
131 小时
发表于 2019-9-11 16:41:18 | 显示全部楼层

铁子你q多少
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2019-1-23
在线时间
15 小时
发表于 2019-12-19 10:47:53 | 显示全部楼层
通宵敲代码 发表于 2018-5-6 14:54
这只用原子的例程改过来的,
用TIM2_CH1通过PWM信号进行驱动,
正好对应着GPIO的PA0端口,

请教一下,字符串buffersize,长度为什么要加42?可以加微信么,已私信发给你了
回复

使用道具 举报

1

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2018-6-5
在线时间
11 小时
发表于 2020-9-3 14:59:29 | 显示全部楼层
hdcxp 发表于 2018-12-18 16:00
之前用 ATTINY13A 的内部 9.6MHz 振荡,普通 IO 口驱动过 72 个 WS2812B 做流水灯

是一个IO口控制led流水灯吗?
回复

使用道具 举报

1

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2018-6-5
在线时间
11 小时
发表于 2020-9-3 15:00:17 | 显示全部楼层
宋宋 发表于 2018-11-2 19:25
想问下  需要并行11个灯圈  (一个灯圈包含24个灯珠)  + 一个灯带(灯带中有100个灯珠)   MCU使用STM32F103C8 ...

后面又解决这个并行的led控制吗?可以指导一下我吗?谢谢
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2020-8-20
在线时间
9 小时
发表于 2020-9-7 17:59:56 | 显示全部楼层
陈皮皮 发表于 2018-8-7 13:56
给你两个方向,都可以实现,而且很稳定。一是PWM,二是SPI控制

SPI怎么实现呀 ?怎么将延时控制在0.x ns级别
回复

使用道具 举报

1

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2018-6-5
在线时间
11 小时
发表于 2020-10-18 18:09:09 | 显示全部楼层
hdcxp 发表于 2018-12-18 16:00
之前用 ATTINY13A 的内部 9.6MHz 振荡,普通 IO 口驱动过 72 个 WS2812B 做流水灯

请问你的实例成功了吗?可以给我学习一下吗?53693488@qq.com
谢谢
回复

使用道具 举报

1

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2018-6-5
在线时间
11 小时
发表于 2020-10-18 18:16:57 | 显示全部楼层
通宵敲代码 发表于 2018-5-6 14:54
这只用原子的例程改过来的,
用TIM2_CH1通过PWM信号进行驱动,
正好对应着GPIO的PA0端口,

方便加qq吗?楼主
发你私信了。
想向你请教一下
谢谢
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2016-9-21
在线时间
2 小时
发表于 2020-11-29 22:10:26 | 显示全部楼层
怎么下载不了啊啊
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2016-9-21
在线时间
2 小时
发表于 2020-11-29 22:28:52 | 显示全部楼层
为啥下载不了文件
回复

使用道具 举报

13

主题

163

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1834
金钱
1834
注册时间
2012-5-19
在线时间
281 小时
发表于 2022-10-17 14:18:34 | 显示全部楼层
正点原子 发表于 2017-11-25 00:12
参考我们minifly的灯环模块

原子有例程吗
回复

使用道具 举报

13

主题

163

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1834
金钱
1834
注册时间
2012-5-19
在线时间
281 小时
发表于 2022-10-17 14:19:08 | 显示全部楼层
正点原子 发表于 2017-11-25 00:12
参考我们minifly的灯环模块

看到你的pdf手册上有好几种模式显示
回复

使用道具 举报

0

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2020-10-29
在线时间
11 小时
发表于 2023-9-25 20:16:45 | 显示全部楼层
一起学习
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 23:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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