打印
[技术问答]

定时器0中断无法回调函数

[复制链接]
1598|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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就可以运行了,为什么呢?




使用特权

评论回复
评论
martinhu 2019-11-30 14:34 回复TA
@aa642895350 :如果你用的是KEIL的话,试试52x,比如525 或以后的版本试试 
aa642895350 2019-11-29 17:11 回复TA
@martinhu :宏定义有效,去掉该段定义,也无法进入,有没有可能是编译器的问题?识别不了weak? 
martinhu 2019-11-28 12:37 回复TA
这段宏定义有效了吗? #if (INT_CALLBACK_ON == INT_CALLBACK_TIM0) 
沙发
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 | 只看该作者
我不是很明白 什么叫无法回调

使用特权

评论回复
5
nawu| | 2019-12-16 13:05 | 只看该作者
前边加不加weak 影响不大吧

使用特权

评论回复
6
SevenNights| | 2019-12-25 18:07 | 只看该作者
人家中断入口识别名就是 TIM0_IRQHandler, 其余中断入口识别名可在IC的头文件中看到

使用特权

评论回复
7
aa642895350|  楼主 | 2020-6-17 08:45 | 只看该作者
编译器版本问题,用高版本keil

使用特权

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

本版积分规则

13

主题

30

帖子

0

粉丝