跟猫一起酸汤面系列:第九天 串口中断

串口发消息容易,收消息可就不是那么容易了,据说有挺多种收法,
猫说有DMA不懂是啥,有中断,似乎还有轮询
忘了看的哪篇文章的分析了,只记得中断方式是每收一个字节中断一次,
每中断size次回调一次,当size=1时每字节回调一次

HAL_UART_Receive_IT(&hlpuart1,(uint8_t *)UART1_temp,REC_LENGTH);

等待中断回调,缓冲区和size的大小,这里是1

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
  if(huart->Instance==LPUART1)
  {
    UART1_Rx_Buf[UART1_Rx_cnt] = UART1_temp[0];
    HAL_UART_Receive_IT(&hlpuart1,(uint8_t *)UART1_temp,REC_LENGTH);
  }
}

串口接收中断回调函数,处理收到的数据和再次等待中断

标签: none

添加新评论