中级会员
 
- 积分
- 342
- 金钱
- 342
- 注册时间
- 2015-5-26
- 在线时间
- 49 小时
|

楼主 |
发表于 2016-6-5 15:35:09
|
显示全部楼层
谢谢您,我后来查阅了一些资料,当我们要用到PWM输出的时候,这个输出比较就是用来产生PWM波的,也就是应用这个外设功能去实现的。我明白您说为什么说频率很高的pwm就要频繁中断去翻转了。使用这个输出比较功能就可以从硬件上去实现从而节约cpu时间,提高效率。
有点像28335里面的epwm模块,PBRD和COMPA、COMPB做比较,发生匹配时,产生事件。而在32里面,PBRD就是这里ARR的值,就是说我们计数器计数的峰值,而CMP在32这里就是TIM_CCR捕获比较寄存器里面的值,就是通过这两个值不同,从而比较事件发生的时间不同,控制频率跟占空比的。跟28335一样可以工作在up、down、up&dowmm模式。
使用捕获功能的时候,会将CNT的值放到TIM_CCR寄存器里面,供我们读出,统计脉冲的宽度,但如果单纯捕获外部电平变化,只需要利用捕获中断进行处理,而不必理会此时保存在CCR寄存器的值。
————————————————————————————
请您评价一下这样说对不对呢? |
|