打印
[应用相关]

定时器捕获的问题

[复制链接]
850|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
豌豆爹|  楼主 | 2021-9-9 10:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

有两个定时器,一个输出PWM(TIM2),一个接受外部脉冲(TIM1);当高级定时器通道(ch1)接受一个脉冲时可以停止TIM2脉冲输出。高级定时器通道IO口用杜邦线与外部脉冲源连接。但目前遇到一个问题:杜邦线接上了IO口与外部脉冲源,本来外部没有输入脉冲,但TIM2不输出脉冲了???当我把杜邦线拔下后,TIM2正常输出,一接上,又不输出了。外部脉冲源根本没有发脉冲,着实有点不明白为什么TIM2会停止输出pwm??我也把杜邦线换了一下,情况跟上述一样。我发一下我输入捕获的一些代码,希望萌友们可以帮我看一下
sICConfig.ICPolarity  = TIM_ICPOLARITY_RISING; // 捕获极性 上升沿
  sICConfig.ICFilter    = 0;                     // 输入滤波,取值范围是 0~0xF
  sICConfig.ICSelection = TIM_ICSELECTION_INDIRECTTI;// IC源选择,TI1FP1
  sICConfig.ICPrescaler = TIM_ICPSC_DIV1;        // 捕获事件分频
  HAL_TIM_IC_ConfigChannel(&htim1,&sICConfig,TIM_CHANNEL_1);

使用特权

评论回复
沙发
七毛钱| | 2021-9-9 10:52 | 只看该作者
从你的描述来看,很怀疑是因为tim1-ch1的确捕捉到脉冲了。会不会是杜帮线上有毛刺信号呢,你可以考虑适当加下滤波,软件上可以使用sICConfig.ICFilter这个参数。 硬件上你可以尝试换个接法来验证,或者先将线结好然后再上电。

使用特权

评论回复
板凳
海滨消消| | 2021-9-9 10:53 | 只看该作者

其实楼主将TIM1的PWM捕捉改成GPIO外部中断EXIT来控制TIM2应该会更可靠一些。

使用特权

评论回复
地板
zljiu| | 2021-10-5 17:48 | 只看该作者
换一个定时器的现象一样吗

使用特权

评论回复
5
coshi| | 2021-10-5 17:53 | 只看该作者
直接使用外部中断不就行了吗

使用特权

评论回复
6
aoyi| | 2021-10-5 18:00 | 只看该作者
可以换一种方式

使用特权

评论回复
7
drer| | 2021-10-5 18:06 | 只看该作者
可以参考三层的办法

使用特权

评论回复
8
gwsan| | 2021-10-5 18:11 | 只看该作者
是不是方式设置的不对啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

508

主题

1938

帖子

5

粉丝