STM32 DMA串口接收大BUG

有时使用STM32CubeMX生成串口和DMA时,要把DMA的初始化放到串口初始化之前,否则DMA接收的数据有问题,只收到最后一个字节的数据。
生成是这样的:

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART1_UART_Init(); 

  MX_DMA_Init();
要改成这样:
  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_DMA_Init();
  MX_USART1_UART_Init();

这是STM32CubeMX的BUG,有可能以前是用旧软件生成的工程属性,与新版本不一样。

你可能感兴趣的:(STM32 DMA串口接收大BUG)