用PWMB功能对外部引脚的脉冲进行计数(非编码器)
目前看到的资料大多数为AB编码器功能,没看明白PWMB具体如何实现对单脉冲进行计数,请前辈门指导一下,谢谢型号:STC32G8K64 QFN32
时钟:外部晶振40MHz
引脚:CAN_TX/T3CLKO_2/PWM6_3/TxD3/ADC9/AD1/P0.1
功能:对该引脚的跳变进行计数,外部信号频率范围在0.02~10kHz左右,不需要中断,在其他函数里会以10ms一次的周期对计数值进行处理并清零。
如果是单纯对外进行计数,其实就是将PWMB作为一个计数器使用了,此时PWMB无法再同时捕获其他的信号,无法再做输出使用
因此还是推荐使用定时器通过T0/T1.....这种引脚对外做计数使用
如果非要使用PWMB,那么PWMA可以用PWM1P,PWM2P,PWMB可以用PWM5,PWM6来作为输入
此时,通过配置PWMA_SMCR/PWMB_SMCR选择为对应的外部时钟模式即可
然后就可以启动PWM定时器,到时间以后直接读取PWMA_CNTR/PWMB_CNTR即可
王昱顺 发表于 2026-1-18 17:24
如果是单纯对外进行计数,其实就是将PWMB作为一个计数器使用了,此时PWMB无法再同时捕获其他的信号,无法再 ...
已改定时器,谢谢
页:
[1]