新手上路
- 积分
- 48
- 金钱
- 48
- 注册时间
- 2020-1-17
- 在线时间
- 12 小时
|
1金钱
求助一下这是我的一些dma配置
hdma_dac1_ch1.Instance = DMA1_Stream5;
hdma_dac1_ch1.Init.Request = DMA_REQUEST_DAC1;
hdma_dac1_ch1.Init.Direction = DMA_MEMORY_TO_PERIPH;
hdma_dac1_ch1.Init.PeriphInc = DMA_PINC_DISABLE;
hdma_dac1_ch1.Init.MemInc = DMA_MINC_ENABLE;
hdma_dac1_ch1.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
hdma_dac1_ch1.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
hdma_dac1_ch1.Init.Mode = DMA_NORMAL;
hdma_dac1_ch1.Init.Priority = DMA_PRIORITY_MEDIUM;
hdma_dac1_ch1.Init.FIFOMode = DMA_FIFOMODE_ENABLE;
hdma_dac1_ch1.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL;
hdma_dac1_ch1.Init.MemBurst = DMA_MBURST_SINGLE;
hdma_dac1_ch1.Init.PeriphBurst = DMA_PBURST_SINGLE;
if (HAL_DMA_Init(&hdma_dac1_ch1) != HAL_OK)
{
Error_Handler();
}
__HAL_LINKDMA(dacHandle,DMA_Handle1,hdma_dac1_ch1);
/* DAC1 interrupt Init */
HAL_NVIC_SetPriority(TIM6_DAC_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(TIM6_DAC_IRQn);
然后我调用HAL_DAC_Start_DMA(&hdac1,DAC_CHANNEL_1,(u32*)&Value2,1,DAC_ALIGN_12B_R);进行DMA赋值
但是我的DMA一直卡在HAL_BUSY,请问一下是什么原因
|
|