tony123456789 发表于 2020-7-10 23:05:20

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

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


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



wenyangzeng 发表于 2020-7-11 11:43:09

低电平输出复位信号,延时50微秒后再启动PWM输出

tony123456789 发表于 2020-7-11 18:40:55

wenyangzeng 发表于 2020-7-11 11:43
低电平输出复位信号,延时50微秒后再启动PWM输出

另外用 io 模拟实现了

tony123456789 发表于 2020-7-11 18:43:36

wenyangzeng 发表于 2020-7-11 11:43
低电平输出复位信号,延时50微秒后再启动PWM输出
你说的这种方法 是首先要把IO 设成输出模式,然后再把IO设置成pwm的模式,这个中间io口会不会电平发生变化,当然您这种方式也可以试试,我昨天试了,没有成功后

tony123456789 发表于 2020-7-11 18:45:30

今天用IO 模拟的方式可以了,如果,频率比800k再高一点,可能就要用汇编嵌进去写了。C写起来的确不好控制。

wenyangzeng 发表于 2020-7-11 19:42:43

tony123456789 发表于 2020-7-11 18:45
今天用IO 模拟的方式可以了,如果,频率比800k再高一点,可能就要用汇编嵌进去写了。C写起来的确不好控制。 ...

50微秒用NOP指令的延时应该可以做到

likang1202 发表于 2020-7-12 08:51:17

顶一下
页: [1]
查看完整版本: STM32F030 MDA+PWM 驱动 ws2812b,起始的50US的低电平怎么产生?