有妖气 发表于 2024-7-27 20:00:09

!!!紧急求助!!!PWM 捕获相关!!!




                PWMA_CCR1H = 0;
                PWMA_CCR1L = 0;


这两个寄存器   不能软件清零!!!

求助是什么原因!!!

下方附带程序


有妖气 发表于 2024-7-27 20:00:42

拜托   哪位大神给找找原因

DebugLab 发表于 2024-7-27 21:18:27


只读

_奶咖君_ 发表于 2024-7-29 09:09:24

你想清零的应该是PWM的计数值寄存器吧 。。{:4_200:}

haiyang201 发表于 2024-7-29 10:01:03

你为什么要给他清零呢 ?

templeton 发表于 2024-7-29 10:06:29

我猜想你应该是想记录两个时刻之间的计数值吧。
如果是这样,可以这样来实现。
用一个变量把当前值T1记录一下,下一次读取时,将第二次记录值T2减去T1,作为时间间隔,同时记录T2.

梁工 发表于 2024-7-29 15:44:38

捕获时,CCR寄存器只读,存放捕获的时间值,只读不写。就算能写,你写入的值没有任何意义,捕获时会刷新掉。

梁工 发表于 2024-7-29 15:45:20

templeton 发表于 2024-7-29 10:06
我猜想你应该是想记录两个时刻之间的计数值吧。
如果是这样,可以这样来实现。
用一个变量把当前值T1记录一 ...

记录两个时刻之间的计数值,可以使用测量周期、占空比的方式,自动完成。

templeton 发表于 2024-8-2 10:06:58

梁工 发表于 2024-7-29 15:45
记录两个时刻之间的计数值,可以使用测量周期、占空比的方式,自动完成。 ...

很强大的PWM功能,按照这这种方法来来做的话,中断次数能减少为原来的一半。

梁工 发表于 2024-8-2 16:32:58

templeton 发表于 2024-8-2 10:06
很强大的PWM功能,按照这这种方法来来做的话,中断次数能减少为原来的一半。 ...

不仅中断率降为一半,更关键的是,很小的脉冲不好捕获,比如20KHz的PWM,周期50us,占空比为1%时高电平为0.5us,占空比更小的话,时间更短,捕获中断因来不及取数据而丢失,但是使用周期方式,则中断间隔是50us,对于MCU来说不算快,轻松实现。
页: [1]
查看完整版本: !!!紧急求助!!!PWM 捕获相关!!!