[STM32F0] 在一秒钟内计数外部脉冲

[复制链接]
289|10
我的牙白 发表于 2025-9-27 22:27 | 显示全部楼层 |阅读模式
在STM32F030 / HAL库中,我没有找到
自动读取/重置计数器
通过第二个定时器进行捕获的方法没有成功
是否有通过定时器(定时器/捕获/比较/PWM)高精度计数外部脉冲的示例?参考一下

公羊子丹 发表于 2025-9-28 07:20 | 显示全部楼层
这个需求挺常见的,用定时器外部时钟模式就能实现,把脉冲接到TIMx_CH1/ETR引脚上计数。
周半梅 发表于 2025-9-28 07:21 | 显示全部楼层
可以考虑用TIM1或TIM3的外部时钟模式1,然后另一个定时器做1秒定时,到时读取CNT值再清零。
帛灿灿 发表于 2025-9-28 07:22 | 显示全部楼层
HAL库里没有直接封装好,你得手动调用__HAL_TIM_SET_COUNTER来清零计数器。
童雨竹 发表于 2025-9-28 07:23 | 显示全部楼层
如果只是想统计频率,其实也可以用输入捕获测高低电平周期,再算出频率。
万图 发表于 2025-9-28 07:24 | 显示全部楼层
还有一种可能是芯片跑飞了,SWD口被复用导致调试器读不到寄存器。
Wordsworth 发表于 2025-9-28 07:26 | 显示全部楼层
建议把Boot0拉高,从系统存储启动,再试着连上清空一下Flash。
Bblythe 发表于 2025-9-28 07:27 | 显示全部楼层
我有次是因为代码里关了JTAG/SWD接口,结果调试器直接失联,只能全擦。
Pulitzer 发表于 2025-9-28 07:29 | 显示全部楼层
遇到这种情况,可以先用STM32CubeProgrammer试试能不能识别目标。
Uriah 发表于 2025-9-28 07:30 | 显示全部楼层
有时候线太长或者接触不好也会报这个错,换根短一点的排线试试。
Clyde011 发表于 2025-9-28 07:31 | 显示全部楼层
实在不行可以用热复位或者上电瞬间点连接,多试几次一般都能进去。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

54

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部