STM32HAL库中断服务函数调用过程有2种
第1种:可以直接在中断源对应的中断服务函数中编写我们想要的功能
具体是在void USART1_IRQHandler(void)函数写要执行的任务
正点原子是重新宏定义函数名,写法如下:
暂时忽略,等找到再贴图
第2种:可以间接调用HAL库的中断回调函数来实现我们想要的功能
具体是在void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)函数写要执行的任务
USARTx_IRQHandler()
//其实第1种就是在这里面写
┗━ HAL_UART_IRQHandler()
┗━ UART_Receive_IT()
{
if (--huart->RxXferCount == 0U)
{
/* Disable the UART Data Register not empty Interrupt */
__HAL_UART_DISABLE_IT(huart, UART_IT_RXNE);
.......
.......
HAL_UART_RxCpltCallback(); //第2中就是在这里面写
.......
}
还可以参考网友分享的《STM32HAL库中断服务函数调用过程》