搜索
查看: 1925|回复: 6

[讨论] STM32F030 MDA+PWM 驱动 ws2812b,起始的50US的低电平怎么产生?

[复制链接]

该用户从未签到

7

主题

25

帖子

0

蝴蝶豆

初级会员

最后登录
2020-8-2
发表于 2020-7-10 23:05:20 | 显示全部楼层 |阅读模式
STM32F030 MDA+PWM 驱动 ws2812b,起始的50US的低电平怎么产生?


现在dma+pwm,倒是可以产生一个800K hz的驱动数据,但是WS2812要求有50US的低电平作为复位信号,这个复位信号怎么产生?



回复

使用道具 举报

该用户从未签到

74

主题

3420

帖子

82

蝴蝶豆

社区小助手

最后登录
2023-11-12
发表于 2020-7-11 11:43:09 | 显示全部楼层
低电平输出复位信号,延时50微秒后再启动PWM输出
回复 支持 反对

使用道具 举报

该用户从未签到

7

主题

25

帖子

0

蝴蝶豆

初级会员

最后登录
2020-8-2
 楼主| 发表于 2020-7-11 18:40:55 | 显示全部楼层
wenyangzeng 发表于 2020-7-11 11:43
低电平输出复位信号,延时50微秒后再启动PWM输出

另外用 io 模拟实现了
回复 支持 反对

使用道具 举报

该用户从未签到

7

主题

25

帖子

0

蝴蝶豆

初级会员

最后登录
2020-8-2
 楼主| 发表于 2020-7-11 18:43:36 | 显示全部楼层
wenyangzeng 发表于 2020-7-11 11:43
低电平输出复位信号,延时50微秒后再启动PWM输出

你说的这种方法 是首先要把IO 设成  输出模式,然后再把IO设置成pwm的模式,这个中间io口会不会电平发生变化,当然您这种方式也可以试试,我昨天试了,没有成功后
回复 支持 反对

使用道具 举报

该用户从未签到

7

主题

25

帖子

0

蝴蝶豆

初级会员

最后登录
2020-8-2
 楼主| 发表于 2020-7-11 18:45:30 | 显示全部楼层
今天用IO 模拟的方式可以了,如果,频率比800k再高一点,可能就要用汇编嵌进去写了。C写起来的确不好控制。
回复 支持 反对

使用道具 举报

该用户从未签到

74

主题

3420

帖子

82

蝴蝶豆

社区小助手

最后登录
2023-11-12
发表于 2020-7-11 19:42:43 | 显示全部楼层
tony123456789 发表于 2020-7-11 18:45
今天用IO 模拟的方式可以了,如果,频率比800k再高一点,可能就要用汇编嵌进去写了。C写起来的确不好控制。 ...

50微秒用NOP指令的延时应该可以做到
回复 支持 反对

使用道具 举报

该用户从未签到

12

主题

1392

帖子

45

蝴蝶豆

金牌会员

最后登录
2021-8-25
发表于 2020-7-12 08:51:17 | 显示全部楼层
顶一下
回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-5-12 20:52 , Processed in 0.179158 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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