CH32V307 DMA+PWM控制彩灯,脉冲数异常

1655886859210358.jpg

1655886859147999.jpg

1655886859103385.png


目前在使用V307的TIM8 控制WS2812,上面分别是异常时用逻辑分析仪抓取的波形,DMA中断处理,和彩灯发送使能。这个方法在ST的单片机和CH32F103验证过,是可行的;但是在V307上面出现时不时的PWM方波少一个或者多一个的问题;怀疑是关停TIM的时间不对,尝试过加延时,提高DMA中断优先级,在中断中判断比较标志位,都不行。希望技术支持给些帮助。项目到了小批量阶段


image.png

多发送一组为0的数据,依然会出现一个100ns的脉冲


您好,建议你可在中断函数中加一个if条件语句试一下,当获取到传输完成标志时再进行函数中的处理。具体问题可通过电话或邮件沟通看一下(025-52635289,lzs@wch.cn)。


WS2812不是该用SPI来做么?

PWM感觉会很坑啊,PWM有个相位问题的。


只有登录才能回复,可以选择微信账号登录