完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
你好,我想用pwm 控制ws2812,但是reload 开到199(1.25us) 关掉pwm输出是高电平,reload 1999的时候 关掉pwm是正常的低电平,这个是bug吗? 我是调用函数关闭pwm的,pwm_enable_output, pwm_disable_output |
|
相关推荐
5个回答
|
|
或者用pwm_stop_counter关闭
最佳答案
|
|
1 条评论
|
|
关闭时附带加上 pwm_set_reload(PWM, 0, 0); pwm_set_start_count(PWM, 0, 0); 看看呢
|
|
|
|
你是不是开着 GCR寄存器的CEN,如果是,试试 pwm_stop_counter(PWMx)。另外把RLD,STA,用到的CMPx清零试试?
|
|
|
|
根据你的描述,情况可能是正常的,因为WS2812 的数据传输时序比较特殊,一个位是由时间上的高电平和低电平组成的,低电平具体对应的时间比高电平短,而且WS2812 对时间的精度要求很高(每个位的误差不能超过 150ns),因此 PWM 频率需要设置为准确的数据传输频率,通常约为 800KHz。在您的情况下,可能是因为您的 PWM 输出时序没有正确地匹配数据传输时序,导致在不同的 reload 值下,输出的信号水平不同。建议您检查 PWM 输出的时序是否正确,并将频率设置为适当的值,以实现正确的数据传输。
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
380个成员聚集在这个小组
加入小组500 浏览 1 评论
606 浏览 0 评论
先楫HPM6E00威廉希尔官方网站 日 | 百人研讨共话工业应用创新及发展趋势
827 浏览 0 评论
855 浏览 0 评论
2105 浏览 22 评论
【盖楼抢好礼】欢迎先楫半导体HPMicro入驻电子发烧友社区!
22276浏览 532评论
2108浏览 22评论
USBX范例中启用 double FPU , 运行异常,卡死在tx_risc_v_trap_handler函数
2806浏览 5评论
1608浏览 5评论
请问Segger Embedded Studio这个窗口不小心拉出来悬浮后怎么塞回去?
2716浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 14:04 , Processed in 0.544652 second(s), Total 58, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号