你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

定时器捕获的问题

[复制链接]
遇灬见氵 提问时间:2021-9-8 14:56 /
有两个定时器,一个输出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);


收藏 评论6 发布时间:2021-9-8 14:56

举报

6个回答
xmshao 回答时间:2021-9-8 15:39:54
从你的描述来看,很怀疑是因为tim1-ch1的确捕捉到脉冲了。会不会是杜帮线上有毛刺信号呢,你可以考虑适当加下滤波,
软件上可以使用sICConfig.ICFilter这个参数。 硬件上你可以尝试换个接法来验证。或者先将线结好然后再上电。
xmshao 回答时间:2021-9-8 16:22:31
从你的描述来看,很怀疑是因为tim1-ch1的确捕捉到脉冲了。会不会是杜帮线上有毛刺信号呢,你可以考虑适当加下滤波,软件上可以使用sICConfig.ICFilter这个参数。 硬件上你可以尝试换个接法来验证,或者先将线结好然后再上电。
wenyangzeng 回答时间:2021-9-8 20:10:01
其实楼主将TIM1的PWM捕捉改成GPIO外部中断EXIT来控制TIM2应该会更可靠一些。
遇灬见氵 回答时间:2021-9-9 10:26:03
xmshao 发表于 2021-9-8 16:22
从你的描述来看,很怀疑是因为tim1-ch1的确捕捉到脉冲了。会不会是杜帮线上有毛刺信号呢,你可以考虑适当加 ...

我试试,感谢你的建议
遇灬见氵 回答时间:2021-9-9 10:30:09
wenyangzeng 发表于 2021-9-8 20:10
其实楼主将TIM1的PWM捕捉改成GPIO外部中断EXIT来控制TIM2应该会更可靠一些。

我尝试过这么做:用杜邦线将外部脉冲源与按键的IO相连,但出现了一个问题:就是按键按下去,不松开时,TIM2停止输出脉冲 ,如果我这个时候用通讯使TIM发脉冲,松开按键后TIM就会继续发脉冲。所以我才放弃外部中断,使用捕获

lugl 回答时间:2021-9-11 05:01:24
用示波器看一下呀,工具一定要到位!

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版