STM32 HAL库的定时器中断回调函数跟串口中断回调函数

Posted xingboy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32 HAL库的定时器中断回调函数跟串口中断回调函数相关的知识,希望对你有一定的参考价值。

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)

     //添加回调后的程序逻辑 
if (htim->Instance == htim2.Instance) //判断是否定时器2 void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
     //添加回调后的程序逻辑
if(huart->Instance == USART1) //判断是否串口1

  中断回调函数是在某个中断发生完成之后调用的,在用Cubemx生成的代码中,其实已经有生成中断回调函数了的,不过那个我们可以不用管,自己在项目里重写中断回调函数以及程序逻辑即可。

  技术图片

  从上图我们可以看到,自动生成的代码中,中断回调函数都有一个__weak 关键字,加上了__weak 修饰符的函数,用户可以在用户文件中重新定义一个同名函数,最终编译器编译的时候,会选择用户定义的函数,如果用户没有重新定义这个函数,那么编译器就会执行__weak 声明的函数,并且编译器不会报错。所以我们可以在别的地方定义一个相同名字的函数,而不必也尽量不要修改之前的函数。

 

 

以上是关于STM32 HAL库的定时器中断回调函数跟串口中断回调函数的主要内容,如果未能解决你的问题,请参考以下文章

STM32 中定时器中断回调函数中加入adc采样轮换查询后,中断函数不执行?请问怎么解决?

基于HAL库的STM32定时器单脉冲控制

STM32HAL 串口发送(中断方式)

STM32基于HAL库的中断详细学习

STM32F429基于CUBEMX的串口中断接收

stm32 uart停止释放