stm32 f407 控制ws2812问题

2019-07-20 02:08发布

本帖最后由 笨鸟先飞鱼 于 2016-7-5 16:14 编辑


控制ws2812   ,单线归零协议,相同周期,不同的高低电平时间,代表“1”和“0”。

现在用stm32 f407   控制ws2812灯珠, 采用网上别人所说的,用DMA传输+PWM的方式,  就是用DMA传输,传过来不同的占空比值,也就是DMA传过来的值,控制不同的CCR1的值,
我现在最大的疑惑在于,如何实现同步?
如何恰好在pwm走完一个周期时,pwm的占空比被改变?

请大神指点下,如何用DMA+PWM的方式,来实现具体的某个波形的占空比是由自己控制的。或者谁有f407控制ws2812灯珠的程序,发一份也行。 (自己用软件延时的就不需要了)

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
zhoujianwen
1楼-- · 2019-07-20 04:01
 精彩回答 2  元偷偷看……
笨鸟先飞鱼
2楼-- · 2019-07-20 04:24
zhoujianwen 发表于 2016-7-5 16:08
.......

按了下回车,就发出来了。是想请教f407控制ws2812的问题。
正点原子
3楼-- · 2019-07-20 04:30
 精彩回答 2  元偷偷看……
笨鸟先飞鱼
4楼-- · 2019-07-20 07:57
http://www.openedv.com/forum.php ... mp;highlight=ws2812

原子哥,我是按照这个思路写的程序,自己固定占空比 pwm 波输出就正常,但是一用上DMA和控制CCR1,根本就没波形输出,求解答。
笨鸟先飞鱼
5楼-- · 2019-07-20 09:06
本帖最后由 笨鸟先飞鱼 于 2016-7-7 16:38 编辑

查资料,有人说 用DMA+TIM。TIM_CHx设置成PWM输出,用update中断触发DMA更新CCRx的值。

请问如何实现用update中断触发DMA更新CCRx的值
笨鸟先飞鱼
6楼-- · 2019-07-20 12:35
 精彩回答 2  元偷偷看……

一周热门 更多>