PIC单片机输出频率可变的PWM波形

[复制链接]
3373|52
 楼主| lizye 发表于 2022-2-3 22:51 | 显示全部楼层
嗯  主程序就光使能PWM输出,但是依旧有相关问题
chuxh 发表于 2022-2-3 22:53 | 显示全部楼层
好像与影子寄存器有关,PR2没有影子寄存器,如果更改PR2,最好是在TIM2周期复位中断中更改
supernan 发表于 2022-2-3 22:55 | 显示全部楼层
相当于只影响这一次比较周期。
wyjie 发表于 2022-2-3 22:57 | 显示全部楼层
如果在一个长周期的低电平时,更新了一个短的周期PR2,比较器会不会错过了匹配,等到整个TM2溢出后,才重新PWM周期呢。
 楼主| lizye 发表于 2022-2-3 22:59 | 显示全部楼层
但是这个现象很随机  没有规律可循,具体是为什么会这样的,我平常是禁用PWM输出的 只有启动了才会PWM输出,然后10ms、改变一次
heweibig 发表于 2022-2-3 23:01 | 显示全部楼层
有可能逻辑有问题,建议把主函数的那些控制逻辑屏蔽掉再调试看看。
jlyuan 发表于 2022-2-3 23:05 | 显示全部楼层
中断里是调频的,看起来没问题。
dingy 发表于 2022-2-3 23:07 | 显示全部楼层
可能主函数的问题
renyaq 发表于 2022-2-3 23:09 | 显示全部楼层
楼主在大循环中停止PWM,下次循环再开启,PWM的停止时间就和大循环的时间有关了。
jiajs 发表于 2022-2-3 23:11 | 显示全部楼层
最好的应用,是周期匹配寄存器也有缓存寄存器,只有在周期复位的时刻才更新周期寄存器。
yufe 发表于 2022-2-3 23:14 | 显示全部楼层
如果没有缓存寄存器,最好在周期复位中断中更改,这不能保证周期很小的时候也没有问题。
wangpe 发表于 2022-2-3 23:16 | 显示全部楼层
最好的是硬件上有这些缓存器。
heweibig 发表于 2022-2-3 23:18 | 显示全部楼层
我尝试过让主函数只使能PWM输出没有进行控制pwm的停止,一上电就输出PWM,但是也会出现个问题。
 楼主| lizye 发表于 2022-2-3 23:20 | 显示全部楼层
大循环中并没有频繁的控制使能, 都是只控制一次输出,或者关闭,并不是进行每次进去在从新开  ,我发现可能就是没有缓存寄存器,
liliang9554 发表于 2022-2-3 23:23 | 显示全部楼层
各系列应该有针对性的模块文档吧,比如关于PWM的。 通常还有例程参考
zhenykun 发表于 2022-2-3 23:27 | 显示全部楼层
所有的中断都在这里了么,我怎么感觉是其他中断跳了一下把这里的事情耽误了
 楼主| lizye 发表于 2022-2-3 23:32 | 显示全部楼层
额 历程都是调占空比啊
 楼主| lizye 发表于 2022-2-3 23:37 | 显示全部楼层
可能是因为没有影子寄存器
supernan 发表于 2022-2-3 23:38 | 显示全部楼层
楼主好!问题解决了没?
 楼主| lizye 发表于 2022-2-3 23:41 | 显示全部楼层
解决不了,应该是单片机没有缓存寄存器导致
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部