STM32L476RG UART_IT_IDLE 一打开就卡死的问题
最近再调试STM32L476RG 串口,使用串口2,在验证DMA空闲中断的时候,发现初始化的时候 __HAL_UART_ENABLE_IT(&huart2, UART_IT_IDLE); //使能idle中断
一执行这一行代码,程序就不能运行下去,卡在此位置,
验证步骤:
HSE外部晶振都是8M
demo1
stm32cubemx生成一个demo 仅使用串口4,用来printf输出,串口2验证dma 接收。为了和F103对比同样的设置时钟pll 72M
初始化的时候 操作
printf("*****init end ****** \n");
#ifdef TESTIUART2DMA
__HAL_UART_ENABLE_IT(&huart2, UART_IT_IDLE); //使能idle中断卡死
HAL_UART_Receive_DMA(&huart2,UART2_RX_BUF,RECEIVELEN);//打开DMA接收,数据存入rx_buffer数组中。
printf("*****init end 222222222****** \n");
#else
HAL_UART_Receive_IT(&huart2,&uart2rx_buffer,1); // 重新使能串口1接收中断
__HAL_UART_DISABLE_IT(&huart2,UART_IT_RXNE);
#endif
/* USER CODE END 2 */
为了对比原因,用stm32f103ret6 板子 stm32cubemx新建了一个同样简单的demo晶振 pll 72M
串口1 作为printf 串口2 用来验证dma接收,
F103没有任何问题 ,可以正常运行 和接收,
请问有人遇到类似问题吗,谢谢。
页:
[1]