你好! 我用cubeMX产生USART2 DMA 发送,但发现没有出来。我看了很多次程序,没有发现问题,用普通方式发送数据,没有问题,DMA方式不行,采用DMA1,时钟也设置了, /* USART2_TX Init */ hdma_usart2_tx.Instance = DMA1_Stream3; hdma_usart2_tx.Init.Request = DMA_REQUEST_USART2_TX; hdma_usart2_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; hdma_usart2_tx.Init.PeriphInc = DMA_PINC_DISABLE; hdma_usart2_tx.Init.MemInc = DMA_MINC_ENABLE; hdma_usart2_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE; hdma_usart2_tx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE; hdma_usart2_tx.Init.Mode = DMA_NORMAL; hdma_usart2_tx.Init.Priority = DMA_PRIORITY_LOW; hdma_usart2_tx.Init.FIFOMode = DMA_FIFOMODE_DISABLE; hdma_usart2_tx.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL; hdma_usart2_tx.Init.MemBurst = DMA_MBURST_SINGLE; hdma_usart2_tx.Init.PeriphBurst = DMA_PBURST_SINGLE; HAL_DMA_DeInit(&hdma_usart2_tx); if (HAL_DMA_Init(&hdma_usart2_tx) != HAL_OK) { } __HAL_LINKDMA(&UART2_Handler,hdmatx,hdma_usart2_tx); 不知道哪儿出了问题?USART3 DMA就没有问题,难道USART2 DMA 发送不行? 我的邮箱是cym_anhui@163.com |
信息太有限了。你现在是用的DMA1,内存空间是在哪里?DMA的初始化代码记得放在UART2初始化之前。 |
DMA发送函数只能被调用一次
STM32L431进入STOP1模式后ADC产生多余功耗
SPI 通信,既有单字节数据传输,又有多字节数据传输,该如正确使用 DMA?
STM32G0B1adc+dma采样数据错位
STM32F4的串口在配置DMA之后,不能使用高波特率吗?
STM32L431在STOP2模式下能否将串口的RX配置成EXTI唤醒呢?为什么我的唤醒不了呢?并且空闲中断也不能用
stm32 DMA串口接收到数组,数组元素顺序错乱怎么办?
STM32H7串口智能卡模式
STM32F407 DMA NVIC设置
STM32F103做从站 上电过程,上位机不断发送数据造成,通讯失败,请大侠指导一下