[技术问答] 定时器0中断无法回调函数

[复制链接]
 楼主| aa642895350 发表于 2019-11-19 19:19 | 显示全部楼层 |阅读模式
本帖最后由 aa642895350 于 2020-6-17 08:45 编辑

这是interrupts_hc32l13x.c中的中断函数
void TIM0_IRQHandler(void)
{
#if (INT_CALLBACK_ON == INT_CALLBACK_TIM0)   
    Tim0_IRQHandler();
#endif
        
}
这是我写的函数不能进入
void Tim0_IRQHandler(void)
{
        static uint16_t i;
    //Timer0 模式0 溢出中断
        myprintf("定时器中断1s\r\n");
    if(TRUE == Bt_GetIntFlag(TIM0, BtUevIrq))
    {
        i++;
                if(i>=10000)
                {
                        i = 0;
                        myprintf("定时器中断1s\r\n");
                }
        Bt_ClearIntFlag(TIM0,BtUevIrq); //中断标志清零
    }        
}
把Tim0_IRQHandler改为TIM0_IRQHandler就可以运行了,为什么呢?




评论

[url=home.php?mod=space&uid=1535440]@aa642895350[/url] :如果你用的是KEIL的话,试试52x,比如525 或以后的版本试试  发表于 2019-11-30 14:34
[url=home.php?mod=space&uid=2806704]@martinhu[/url] :宏定义有效,去掉该段定义,也无法进入,有没有可能是编译器的问题?识别不了weak?  发表于 2019-11-29 17:11
这段宏定义有效了吗? #if (INT_CALLBACK_ON == INT_CALLBACK_TIM0)  发表于 2019-11-28 12:37
Q80351951 发表于 2019-11-27 15:39 | 显示全部楼层
毁掉煤气作用
/**
*******************************************************************************
** \brief GPIO 基础时钟0 中断处理函数
**
** \retval
*****************************************************************************
void TIM0_IRQHandler(void)
{
    Tim_IRQHandler(0);
}
gwsan 发表于 2019-12-16 12:05 | 显示全部楼层
这个参数0是什么意思
kxsi 发表于 2019-12-16 12:09 | 显示全部楼层
我不是很明白 什么叫无法回调
nawu 发表于 2019-12-16 13:05 | 显示全部楼层
前边加不加weak 影响不大吧
SevenNights 发表于 2019-12-25 18:07 | 显示全部楼层
人家中断入口识别名就是 TIM0_IRQHandler, 其余中断入口识别名可在IC的头文件中看到
 楼主| aa642895350 发表于 2020-6-17 08:45 | 显示全部楼层
编译器版本问题,用高版本keil
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

30

帖子

0

粉丝
快速回复 返回顶部 返回列表