STM32_H750串口接收不定长数据(IDLE+DMA)及初始化之后便进入idle中断的解决方法
链接:https://pan.baidu.com/s/16RIVUMUN89Sxj-RmwkdFng
提取码:15ir
STM32H750使用IDLE+DMA进行不定长数据的接收
使用STM32cubemx进行一些初始化的工作,串口正常初始化,选上串口中断,添加DMA等。
首先定义一些变量
uint8_t rx_len=0;
uint8_t recv_end_flag=0;
uint8_t rx_buffer[200];
然后在串口初始化之后添加IDLE中断相关函数
__HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE);//开启IDLE中断
while(__HAL_UART_GET_FLAG(&huart1,UART_FLAG_IDLE)==RESET)
{
}
HAL_UART_Receive_DMA(&huart1,rx_buffer,