STM32HAL库串口中断函数分析

1.第一步

  • USART1_IRQHandler
    如果开启了中断,当中断发生时,程序将会进入到这个函数中来,这个函数是一个若函数,已经在启动文件中有定义,如果开发者没有定义自己的回调,那么将会进入这个回调中

2.第二步

  • HAL_UART_IRQHandler
    从名字可以看出,这个函数是hal库函数,用户可在第一步中调用本函数,这个函数里处理了接受中断和发送中断的一些共同的操作,再本函数里,识别出是发送还是接收回调,然后调用相应的回调

    3.第三步

  • UART_Receive_IT
    如果第二步识别出是接收回调,那么将会调用本函数,本函数会处理所有uart的接收中断公共事件,然后再调用具体的处理用户逻辑的函数

    4.第四部

  • HAL_UART_RxCpltCallback
    用户的逻辑函数是一个若函数,如果用户不定义的话,将会进入初始化的函数中