久芯网

Tim5计时器的输入捕获仅Ch1可用?

avatar a758457953 提问时间: 2023-07-20 18:22:36 / 未解决
stm32f429平台上,使用stm32cubeide进行自动生成。添加初始化代码HAL_TIM_IC_START_IT(&htmi5,TIM_CHANNEL1)进行配置,TIM5CH1可以正常进入输入捕获中断,
但使用HAL_TIM_IC_START_IT(&htmi5,TIM_CHANNEL2)会出现系统假死的情况。
使用HAL_TIM_IC_START_IT(&htmi5,TIM_CHANNEL3),对CH3,CH4进行初始化,通道3,4无法进入中断
5个回答
  • avatar xmshao
    回答时间: 2023-07-20 18:42:00

    这需要你自己结合手册查看代码。你提到的假死,看看是否存在相关中断标志位始终没有得到清除。

  • avatar a758457953
    回答时间: 2023-07-20 19:03:58
    xmshao 发表于 2022-8-17 16:11
    这需要你自己结合手册查看代码。你提到的假死,看看是否存在相关中断标志位始终没有得到清除。 ...

    我对hal库的这两个函数拆开按照f4说明手册进行重写, 直接对TIM5的CCER进行赋值 (输入的上升沿捕捉)(得到CH1~CH4通道的配置)为0X1111,赋值就假死 但只配置0X1(只配置CH1)或只配置0X1101(通道1.3.4)就是正常

  • avatar a758457953
    回答时间: 2023-07-20 19:34:11
    xmshao 发表于 2022-8-17 16:11
    这需要你自己结合手册查看代码。你提到的假死,看看是否存在相关中断标志位始终没有得到清除。 ...

    同时,在debug界面也可以发现是在对CCER寄存器进行赋值(赋0X1111)后,程序就死了。 即使通道1.3.4中断初始化成功以后,在通道3.4的上升沿仍然无法进入中断,只有通道1正常。

  • avatar yklstudent
    回答时间: 2023-07-20 20:02:45

    多半自己代码问题

  • avatar a758457953
    回答时间: 2023-07-20 20:22:20
    yklstudent 发表于 2022-8-17 21:53
    多半自己代码问题

    ?你这不废话吗?代码没问题还啥问题 自己不动手试试直接生成 你用ide生成这么个环境测试需要5分钟吗

会员中心 微信客服
客服
回到顶部