0 | 0.配置串口Instance,波特率,收发模式等HAL_UART_Init() |
1.使能中断调用的IO口的时钟 | 1.使能串口时钟和串口使用的IO口时钟 |
2.配置GPIO口尤其是触发方式Mode(上升下降沿) | 2.配置GPIO口尤其是Alternate复用串口号 |
3.设置中断优先级,并使能中断通道HAL_NVIC_EnableIRQ();HAL_NVIC_SetPriority(); | 3.串口接收中断优先级配置和使能:HAL_NVIC_EnableIRQ();HAL_NVIC_SetPriority(); |
4. | 4.使能串口接收中断:HAL_UART_Receive_IT(); |
5.编写中断服务函数EXTIx_IRQHandler();函数中调用外部中断通用处理函数HAL_GPIO_EXTI_IRQHandler() | 5.编写中断服务函数USARTx_IRQHandler(GPIO_PIN);函数中调用串口中断通用处理函数HAL_UART_IRQHandler(&uartx); |
6.编写外部中断回调函数:HAL_GPIO_EXTI_Callback; | 6.编写串口中断回调函数HAL_UART_RxCpltCallback(); |
7.在外部中断回调函数中选择是哪一个外部中断switch(GPIO_Pin) | 7.在串口中断回调函数中选择是哪一个串口的中断if(huart->Instance==USART1) |
更多回帖