打印

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

[复制链接]
楼主: lizye
手机看帖
扫描二维码
随时随地手机跟帖
21
lizye|  楼主 | 2022-2-3 22:51 | 只看该作者 回帖奖励 |倒序浏览
嗯  主程序就光使能PWM输出,但是依旧有相关问题

使用特权

评论回复
22
chuxh| | 2022-2-3 22:53 | 只看该作者
好像与影子寄存器有关,PR2没有影子寄存器,如果更改PR2,最好是在TIM2周期复位中断中更改

使用特权

评论回复
23
supernan| | 2022-2-3 22:55 | 只看该作者
相当于只影响这一次比较周期。

使用特权

评论回复
24
wyjie| | 2022-2-3 22:57 | 只看该作者
如果在一个长周期的低电平时,更新了一个短的周期PR2,比较器会不会错过了匹配,等到整个TM2溢出后,才重新PWM周期呢。

使用特权

评论回复
25
lizye|  楼主 | 2022-2-3 22:59 | 只看该作者
但是这个现象很随机  没有规律可循,具体是为什么会这样的,我平常是禁用PWM输出的 只有启动了才会PWM输出,然后10ms、改变一次

使用特权

评论回复
26
heweibig| | 2022-2-3 23:01 | 只看该作者
有可能逻辑有问题,建议把主函数的那些控制逻辑屏蔽掉再调试看看。

使用特权

评论回复
27
jlyuan| | 2022-2-3 23:05 | 只看该作者
中断里是调频的,看起来没问题。

使用特权

评论回复
28
dingy| | 2022-2-3 23:07 | 只看该作者
可能主函数的问题

使用特权

评论回复
29
renyaq| | 2022-2-3 23:09 | 只看该作者
楼主在大循环中停止PWM,下次循环再开启,PWM的停止时间就和大循环的时间有关了。

使用特权

评论回复
30
jiajs| | 2022-2-3 23:11 | 只看该作者
最好的应用,是周期匹配寄存器也有缓存寄存器,只有在周期复位的时刻才更新周期寄存器。

使用特权

评论回复
31
yufe| | 2022-2-3 23:14 | 只看该作者
如果没有缓存寄存器,最好在周期复位中断中更改,这不能保证周期很小的时候也没有问题。

使用特权

评论回复
32
wangpe| | 2022-2-3 23:16 | 只看该作者
最好的是硬件上有这些缓存器。

使用特权

评论回复
33
heweibig| | 2022-2-3 23:18 | 只看该作者
我尝试过让主函数只使能PWM输出没有进行控制pwm的停止,一上电就输出PWM,但是也会出现个问题。

使用特权

评论回复
34
lizye|  楼主 | 2022-2-3 23:20 | 只看该作者
大循环中并没有频繁的控制使能, 都是只控制一次输出,或者关闭,并不是进行每次进去在从新开  ,我发现可能就是没有缓存寄存器,

使用特权

评论回复
35
liliang9554| | 2022-2-3 23:23 | 只看该作者
各系列应该有针对性的模块文档吧,比如关于PWM的。 通常还有例程参考

使用特权

评论回复
36
zhenykun| | 2022-2-3 23:27 | 只看该作者
所有的中断都在这里了么,我怎么感觉是其他中断跳了一下把这里的事情耽误了

使用特权

评论回复
37
lizye|  楼主 | 2022-2-3 23:32 | 只看该作者
额 历程都是调占空比啊

使用特权

评论回复
38
lizye|  楼主 | 2022-2-3 23:37 | 只看该作者
可能是因为没有影子寄存器

使用特权

评论回复
39
supernan| | 2022-2-3 23:38 | 只看该作者
楼主好!问题解决了没?

使用特权

评论回复
40
lizye|  楼主 | 2022-2-3 23:41 | 只看该作者
解决不了,应该是单片机没有缓存寄存器导致

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则