你好! 我用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初始化之前。 |
Flasher ARM 的自主模式通过RS232去驱动编程
STM32G070RBT6 我将PA14-BOOT0改为USART2RX,
关于stm32g431串口与FDCAN数据不同同时处理问题
STM32CubeIde生成的工程,使用printf函数没有调用_write函数
STM32F767IGx 使用串口模块正常运行串口不能接收,debug模式正常。
stm32G0B1RCT6在串口快速收发时导致中断服务函数无法进入
在FreeRTOS中串口重定向使用HAL库函数中断出现异常
stm32f407 开启两路(FS和HS) Custom HID,与上位机通信偶尔中断
usart奇偶校验问题
STM32H750使能DCache后用DMA会导致程序异常问题