HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) 里面一调用函数就锁死,直接写语句没问题

使用中断式的按键,想在这个回调函数里面加延时来“消抖”,但是在这个CALLBACK函数里面只要一调用其他函数(如delay())就卡死在里面了。但是吧其他函数的语句直接COPY进CALLBACK里面就没事。请问这是怎么回事呀?

已邀请:

已经解决了。是

HAL_InitTick(uint32_t TickPriority)这个函数要重新定义下,把systick的主优先级定义为0x0000(最高),之前HAL库给出的宏参数TICK_INT_PRIORITY 0X000f(最低)。导致一进中断

HAL的时钟就停摆了。

admin

赞同来自:

嗯,恭喜解决,我记得有帖子里介绍过,中断里最好不要调用hal_delay函数,可以自己写延时函数

要回复问题请先登录注册