!!!紧急求助!!!PWM 捕获相关!!!
PWMA_CCR1H = 0;
PWMA_CCR1L = 0;
这两个寄存器 不能软件清零!!!
求助是什么原因!!!
下方附带程序
拜托 哪位大神给找找原因
只读
你想清零的应该是PWM的计数值寄存器吧 。。{:4_200:} 你为什么要给他清零呢 ? 我猜想你应该是想记录两个时刻之间的计数值吧。
如果是这样,可以这样来实现。
用一个变量把当前值T1记录一下,下一次读取时,将第二次记录值T2减去T1,作为时间间隔,同时记录T2. 捕获时,CCR寄存器只读,存放捕获的时间值,只读不写。就算能写,你写入的值没有任何意义,捕获时会刷新掉。 templeton 发表于 2024-7-29 10:06
我猜想你应该是想记录两个时刻之间的计数值吧。
如果是这样,可以这样来实现。
用一个变量把当前值T1记录一 ...
记录两个时刻之间的计数值,可以使用测量周期、占空比的方式,自动完成。 梁工 发表于 2024-7-29 15:45
记录两个时刻之间的计数值,可以使用测量周期、占空比的方式,自动完成。 ...
很强大的PWM功能,按照这这种方法来来做的话,中断次数能减少为原来的一半。 templeton 发表于 2024-8-2 10:06
很强大的PWM功能,按照这这种方法来来做的话,中断次数能减少为原来的一半。 ...
不仅中断率降为一半,更关键的是,很小的脉冲不好捕获,比如20KHz的PWM,周期50us,占空比为1%时高电平为0.5us,占空比更小的话,时间更短,捕获中断因来不及取数据而丢失,但是使用周期方式,则中断间隔是50us,对于MCU来说不算快,轻松实现。
页:
[1]