完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
PIC处理器,即使是16位的品种,持有10位PWM“on”值在两个不同的寄存器。例如,在PIC24F08KL200上,这个值在寄存器中:例如,我想增加或减少PWM“on”时间。如何更新这两个不会导致无效PWM周期的寄存器?
|
|
相关推荐
9个回答
|
|
您应该能够安全地在TMR2中断中写入占空比,因为该占空比紧接着被锁存。当然,PWM频率和中断延迟将不得不允许它。
|
|
|
|
看起来,如果当输出变低时(TMR2=Duty Cycle),我可以有更多的时间更新占空比,但是如何有效地检测此事件呢?但是,我怀疑TMR2中断应该在大多数情况下工作。
|
|
|
|
理想情况下,我希望看到一个控制位。当位被设置时,占空比在TMR2=PR2被锁存到从寄存器。如果位被清除,则使用从寄存器中的旧值。所以我们可以清除位,更新占空比,并设置位。原子。
|
|
|
|
不,你有整个TMR2周期来写新的值。在TMR2匹配占空比之前或之后执行该操作并不重要,只要在TMR2再次匹配PR2之前执行该操作即可。我认为您已经错过了新值仅被传输到TMR2=PR2匹配上的活动寄存器的点。
|
|
|
|
当输出变高,而不是低时,占空比被锁存。这就是当你有足够的时间来安全地更新它的时候:它被锁上之后,就没有了。使用一个“真正的”PIC24来避免这个问题,而不是PIC24/PIC18混合部件之一。
|
|
|
|
我的错误。在TMR2=PR2时,占空比被锁存到缓冲器,这是当TMR2中断发生时。在这一点上,你有一个完整的PWM周期来写新的占空比,然后再锁存。
|
|
|
|
仔细阅读数据表。典型地,对于PIC PWM模块,占空比是双缓冲的,因此通过CCPxL和CCPxCON:DC位对占空比的改变被推迟到下一个TMR2 PR2匹配,即当前PWM周期的结束。因此,只要您在更新的部分之间没有得到TMR2 PR2匹配,就永远不会有问题。这就是为什么它在定时器2ISR中是安全的(除非进入它的时间被延迟了近定时器2周期),因为另一场比赛不会出现一段时间。如果不使用定时器2中断,可以轮询定时器直到其安全更新为止(如果还有其他慢中断,则禁用更新的中断,以便后半部分无法通过下一个TMR2 PR2匹配)。
|
|
|
|
这对我来说是新的。哪些是真实的,哪些是混合的?为什么?
|
|
|
|
“KL”部分是我所知道的唯一的混合动力车。你可以告诉混合动力车,因为它们有8位外围设备。例如,如果TMR2是8位,它不是一个“真实”的PIC24。
|
|
|
|
只有小组成员才能发言,加入小组>>
5242 浏览 9 评论
2031 浏览 8 评论
1955 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3207 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2256 浏览 5 评论
778浏览 1评论
669浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
596浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
678浏览 0评论
577浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 18:40 , Processed in 1.513321 second(s), Total 94, Slave 78 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号