文章目录
前言
关于stm32cubemx的usart+dma发送,在设置完成进行配置以后dma一直处于busy状态,导致usart不能发送或者是只发送了一次的问题的解决方案。
一、cubemx配置
全局中断一定要打开
开启dma
确保dma在usart的前面!!!
二、代码
1.示例
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
uint8_t a[11]="hello world";
// HAL_UART_Transmit(&huart1,a,sizeof(a),1000);
while(HAL_DMA_GetState(&hdma_usart1_tx) != HAL_DMA_STATE_READY);
HAL_UART_Transmit_DMA(&huart1,a,sizeof(a));
HAL_Delay(100);
}