PCF8563(RTC)读取时间有误
VL53L5CX无法使用
请教STM32F103的DMA空闲接收问题
3.3v单片机能刷写1.8v的spi flash吗?
STM32CubeMX配置STM32F103C8T6 RTC分频器问题
STM32F103RCT6断电以后,ADC会漏电
STM32F103VCT6通过串口1烧录程序问题
F103的IIC支持高速400K频率吗?
为什么用cubemax生成f103c8t6的freertos在编译时会报错
CUBEIDE打开一个工程,怎么改变主控芯片的同系列型号?
微信公众号
手机版
可以这么用,但是实际上还是在输出的 只不过输出的是0%占空比
针对功耗考虑的话 这样做是不合适的
因为外设还在工作 最好是取消PWM的授权来降低功耗,当然不差这点也无所谓
做波形的时候我也经常这么用 因为检测点的情况不同需要修改占空比 甚至是直接拉高拉低直接写0 100 了 但是我在扣功耗这样就不行了 一定要转为IO去拉低
[md]您说的太透彻了,我一直纠结的都是0%占空比,因为强制输出低电平和CCR等于0看波形是一样的,您说的这句实际上还是在输出的 只不过输出的是0%占空比才是重点,关于低功耗确实是我没有想到的,关闭定时器外设降低功耗,我认为也是分情况的,我的情况就是占空比频繁变动(从0到100),我还是认为我的用法改变CCR去设置占空比是最方便的
可以通过设置强制输出模式来关闭PWM.
也可以停止定时器,改为IO口接管。最好外部匹配上拉或下拉电阻。
我测试的结果是定时器还是正常工作,计数器继续比较,向上计数模式计数器初始是0满足>=CCR所以是持续输出低电平的,这样做的好处就是输出占空比0%~100%只需设置CCR寄存器就可以,您说的强制输出模式关闭pwm和我现在这样直接设置CCR我没看出来有什么区别。停止定时器,改为IO口接管,因为后续还是要正常输出pwm我就觉得这样做非常的麻烦
可能从文字上来说,关闭和持续比较输出是两件事,但是从实验效果上来说,看起来是一样的。
我个人见到小伙伴们用关闭的多一些。
[md]关闭PWM输出,并没有绝对的做法,一般是指让timer通道的输出固定在低电平或高电平。具体到你这里,基于向上计数,PWM1模式及极性高有效的前提,你这样操作肯定是可以的,也是合理的,最终让通道输出保持在低电平。当然,输出也是稳定、可靠的!
尤其是在需要频繁调整占空比时,并不合适每次将通TIMER道关闭或关闭计算器甚至关闭GPIO的复用,这样切换起来太麻烦,有时也不现实。
至于TIMER的强制输出功能,也是TIMER的一种特定输出功能,但不适合占比频繁调整的场合。
关闭TIMER计数的做法,实际是非常笼统而粗糙的,关闭TIMER计数跟通道输出电平并没有直接对应关系。TIMER通道的输出由 PWM模式、极性选择、CCR值和CNT值的比较结果决定。
如果说要考虑功耗的层面,这意味着输出固定后再也不做变动了,这时考虑关闭通道输出功能、甚至关闭TIMER外设。具体情况具体实现。