找回密码
 立即注册
查看: 184|回复: 2

用PWMB功能对外部引脚的脉冲进行计数(非编码器)

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2026-02-01 11:10:45
已绑定手机

1

主题

1

回帖

9

积分

新手上路

积分
9
发表于 2026-1-18 14:25:54 | 显示全部楼层 |阅读模式
目前看到的资料大多数为AB编码器功能,没看明白PWMB具体如何实现对单脉冲进行计数,请前辈门指导一下,谢谢

型号:STC32G8K64 QFN32
时钟:外部晶振40MHz
引脚:CAN_TX/T3CLKO_2/PWM6_3/TxD3/ADC9/AD1/P0.1
功能:对该引脚的跳变进行计数,外部信号频率范围在0.02~10kHz左右,不需要中断,在其他函数里会以10ms一次的周期对计数值进行处理并清零。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:694
  • 最近打卡:2026-03-22 11:00:31
已绑定手机
已实名认证

130

主题

3385

回帖

8821

积分

版主

积分
8821
发表于 2026-1-18 17:24:38 | 显示全部楼层
如果是单纯对外进行计数,其实就是将PWMB作为一个计数器使用了,此时PWMB无法再同时捕获其他的信号,无法再做输出使用

因此还是推荐使用定时器通过T0/T1.....这种引脚对外做计数使用
如果非要使用PWMB,那么PWMA可以用PWM1P,PWM2P,PWMB可以用PWM5,PWM6来作为输入
截图202601181722535837.jpg
此时,通过配置PWMA_SMCR/PWMB_SMCR选择为对应的外部时钟模式即可
然后就可以启动PWM定时器,到时间以后直接读取PWMA_CNTR/PWMB_CNTR即可
截图202601181724356661.jpg
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2026-02-01 11:10:45
已绑定手机

1

主题

1

回帖

9

积分

新手上路

积分
9
发表于 2026-2-1 11:10:45 | 显示全部楼层
王*** 发表于 2026-1-18 17:24
如果是单纯对外进行计数,其实就是将PWMB作为一个计数器使用了,此时PWMB无法再同时捕获其他的信号,无法再 ...

已改定时器,谢谢
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-3-27 01:35 , Processed in 0.104310 second(s), 57 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表