重新实现中断回调函数
在NVIC一讲中我们探索了HAL库的中断处理机制,HAL中弱定义了一个中断回调函数 HAL_UART_RxCpltCallback, 我们需要在用户文件中重新定义该函数,放在哪都可以,这里我放在 main.c 中:
- /* USER CODE BEGIN 4 */
- /* 中断回调函数 */
- void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
- {
- /* 判断是哪个串口触发的中断 */
- if(huart ->Instance == USART1)
- {
- //将接收到的数据发送
- HAL_UART_Transmit_IT(huart, (uint8_t*)recv_buf, 13);
- //重新使能串口接收中断
- HAL_UART_Receive_IT(huart, (uint8_t*)recv_buf, 13);
- }
- }
- /* USER CODE END 4 */
|