[技术问答]

小华定时器中断的问题,进不了中断调用的函数

[复制链接]
1154|15
手机看帖
扫描二维码
随时随地手机跟帖
feng89|  楼主 | 2022-7-11 09:38 | 显示全部楼层 |阅读模式
void TIM2_IRQHandler(void)
{
       
#if (INT_CALLBACK_ON == INT_CALLBACK_TIM2)    条件是对的
    Tim2_IRQHandler();
#endif
}
为什么不调用Tim2_IRQHandler();用小华的工程模板没有问题,自己建的工程就不行。如果在中断文件中注掉在,在程序中如下面是正常的。
void TIM2_IRQHandler(void)
{
       
    if (TRUE == Bt_GetIntFlag(TIM2))
    {

    }
}

问题是出在哪里??

使用特权

评论回复
hulai123456| | 2022-7-11 11:11 | 显示全部楼层
Tim2_IRQHandler()这个函数是干啥的?

使用特权

评论回复
hulai123456| | 2022-7-11 11:13 | 显示全部楼层
Tim2_IRQHandler()听你描述可能这个执行函数时间太长了

使用特权

评论回复
feng89|  楼主 | 2022-7-11 11:28 | 显示全部楼层
hulai123456 发表于 2022-7-11 11:11
Tim2_IRQHandler()这个函数是干啥的?

大字母是中断,小写的是调用中断的程序,用官方的例子,哪样是没有问题,自己建的工程就不能调用!

使用特权

评论回复
feng89|  楼主 | 2022-7-11 11:38 | 显示全部楼层
hulai123456 发表于 2022-7-11 11:13
Tim2_IRQHandler()听你描述可能这个执行函数时间太长了

就一个计数器,总共就几个语句

使用特权

评论回复
wubangmi| | 2022-7-11 12:11 | 显示全部楼层
2539662cba28e63783.png
--keep=*Handler
如上图,你要加个关键字,不然这是个弱函数,Tim2_IRQHandler();这个函数执行不到

使用特权

评论回复
评论
martinhu 2022-7-12 08:50 回复TA
楼主正解 
laocuo1142| | 2022-7-12 08:08 | 显示全部楼层
首先进中断了吗?

使用特权

评论回复
binoo7| | 2022-7-12 08:18 | 显示全部楼层
看一下你自己的定时器中断配置是怎么做的吧,好好检查一下

使用特权

评论回复
feng89|  楼主 | 2022-7-12 09:57 | 显示全部楼层
wubangmi 发表于 2022-7-11 12:11
--keep=*Handler
如上图,你要加个关键字,不然这是个弱函数,Tim2_IRQHandler();这个函数执行不到 ...

谢谢,官方例哪里就是这样的:--keep=*Handler

使用特权

评论回复
tpgf| | 2022-8-2 08:01 | 显示全部楼层
说明不是这个标志位引起的中断吧

使用特权

评论回复
qcliu| | 2022-8-2 08:09 | 显示全部楼层
这个区分大小写吗

使用特权

评论回复
drer| | 2022-8-2 08:17 | 显示全部楼层
默认时候没有图中的关键字是吗

使用特权

评论回复
coshi| | 2022-8-2 08:27 | 显示全部楼层
这个关键字--keep=*Handler是什么意思呢

使用特权

评论回复
kxsi| | 2022-8-2 08:36 | 显示全部楼层
中断向量设定对了吗

使用特权

评论回复
wiba| | 2022-8-2 09:08 | 显示全部楼层
如果不进入判定语句 那么是什么引起的中断呢

使用特权

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

本版积分规则

37

主题

152

帖子

1

粉丝