CubeMX DMA+空闲中断实现串口收发数据
其他参数都默认即可。
记得打开串口接收中断
然后在主函数中开启空闲中断和 DMA 接收。recbuf 是数据缓存数组自己定义一个,1024 是数组长度。
1 | __HAL_UART_ENABLE_IT(&huart1,UART_IT_IDLE); |
然后在串口中断处理函数(USART1_IRQHandler)中添加以下代码,即可。
1 | if(__HAL_UART_GET_FLAG(&huart1,UART_FLAG_IDLE)){ |
其他参数都默认即可。
记得打开串口接收中断
然后在主函数中开启空闲中断和 DMA 接收。recbuf 是数据缓存数组自己定义一个,1024 是数组长度。
1 | __HAL_UART_ENABLE_IT(&huart1,UART_IT_IDLE); |
然后在串口中断处理函数(USART1_IRQHandler)中添加以下代码,即可。
1 | if(__HAL_UART_GET_FLAG(&huart1,UART_FLAG_IDLE)){ |