久芯网

STM32CUBUMX定时器1中断回调函数就是进不去咋办?

avatar 文@nana 提问时间: 2023-08-05 20:15:55 / 未解决

已经在CUBUMX里面配置好中断了,初始化的时候也打开

HAL_TIM_Base_Start(&htim1);

/ 启动定时器中断 / HAL_TIM_Base_Start_IT(&htim1); HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_3);

HAL_TIM_PWM_Start_IT(&htim1, TIM_CHANNEL_3);

就死活进不去,回调函数函数里面就放了个点灯翻转

5个回答
  • avatar butterflyspring
    回答时间: 2023-08-05 20:34:35

    一般调试一下就能看到问题所在了,如同楼上说的,在中断服务程序入口处打个断点,单步往后走看看就知道了,同时也可以大概熟悉一下软件架构。

  • avatar 废鱼
    回答时间: 2023-08-05 21:03:42

    楼主,您好。在it.c中的TIM1中断函数加断点,看一下是否可以进去。另外,需要注意一下,如果定时器时间太短可能会导致肉眼看不到灯的状态。

  • avatar 文@nana
    回答时间: 2023-08-05 21:24:01
    butterflyspring 发表于 2022-3-21 18:56
    一般调试一下就能看到问题所在了,如同楼上说的,在中断服务程序入口处打个断点,单步往后走看看就知道 ...

    [md]非常感谢鱼大大的回复!!!问题解决了 是因为这两个不要同时开启, HAL_TIM_Base_Start(&htim1); HAL_TIM_Base_Start_IT(&htim1); 关掉HAL_TIM_Base_Start(&htim1); 中断回调就可以进去拉,至于为啥不行,具体原因还未找到

  • avatar 文@nana
    回答时间: 2023-08-05 21:51:51
    butterflyspring 发表于 2022-3-21 18:56
    一般调试一下就能看到问题所在了,如同楼上说的,在中断服务程序入口处打个断点,单步往后走看看就知道 ...

    [md]感谢友友的回复!!!问题已解决。

  • avatar 废鱼
    回答时间: 2023-08-05 22:22:59
    文@nana 发表于 2022-3-21 20:20
    非常感谢鱼大大的回复!!!问题解决了

    是因为这两个不要同时开启,

    [md]两个是不同的,如果用中断选择带IT的。串口使用也一样,如果用中断用带IT的,DMA用带DMA的,查询的用普通的。

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