hal库 dma实验失败

2019-07-20 15:15发布

串口配置如下
UART8_Handler.Instance         = UART8;
  UART8_Handler.Init.BaudRate    = 115200;
  UART8_Handler.Init.WordLength  = UART_WORDLENGTH_8B;
  UART8_Handler.Init.StopBits    = UART_STOPBITS_1;
  UART8_Handler.Init.Parity      = UART_PARITY_NONE;
  UART8_Handler.Init.HwFlowCtl   = UART_HWCONTROL_NONE;
  UART8_Handler.Init.Mode        = UART_MODE_TX_RX;
        HAL_UART_Init(&UART8_Handler);

__HAL_RCC_UART8_CLK_ENABLE();

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
        if(huart->Instance==UART8)
        {
                HAL_UART_Receive_DMA(&UART8_Handler,UART8_Receive_Buffer,10);
        }

}


dma配置如下
__HAL_RCC_DMA1_CLK_ENABLE();  
          __HAL_LINKDMA(&UART8_Handler,hdmarx,UART8_RxDMAHandler);
       
    UART8_RxDMAHandler.Instance=DMA1_Stream6;                           
    UART8_RxDMAHandler.Init.Channel=DMA_CHANNEL_5;                                
    UART8_RxDMAHandler.Init.Direction=DMA_PERIPH_TO_MEMORY;           
    UART8_RxDMAHandler.Init.PeriphInc=DMA_PINC_DISABLE;               
    UART8_RxDMAHandler.Init.MemInc=DMA_MINC_ENABLE;                     
    UART8_RxDMAHandler.Init.PeriphDataAlignment=DMA_PDATAALIGN_BYTE;   
    UART8_RxDMAHandler.Init.MemDataAlignment=DMA_MDATAALIGN_BYTE;      
    UART8_RxDMAHandler.Init.Mode=DMA_NORMAL;                           
    UART8_RxDMAHandler.Init.Priority=DMA_PRIORITY_MEDIUM;              
    UART8_RxDMAHandler.Init.FIFOMode=DMA_FIFOMODE_DISABLE;              
    UART8_RxDMAHandler.Init.FIFOThreshold=DMA_FIFO_THRESHOLD_FULL;      
    UART8_RxDMAHandler.Init.MemBurst=DMA_MBURST_SINGLE;               
    UART8_RxDMAHandler.Init.PeriphBurst=DMA_PBURST_SINGLE;

    HAL_DMA_DeInit(&UART8_RxDMAHandler);   
    HAL_DMA_Init(&UART8_RxDMAHandler);

    __HAL_DMA_ENABLE(&UART8_RxDMAHandler);
                HAL_UART_Receive_DMA(&UART8_Handler, UART8_Receive_Buffer, 10);


然后 串口八寄存器的rdr里有数 但是dma数组里不刷新
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-07-20 15:45
 精彩回答 2  元偷偷看……
李志猛
2楼-- · 2019-07-20 19:25
 精彩回答 2  元偷偷看……
懂武懂武
3楼-- · 2019-07-20 21:15
可能需要提高接收频率吧

一周热门 更多>