Cubemx中如何关闭DMA半传输中断

在Cubemx中使用DMA时发现半传输中断、传输完成中断、传输错误中断 都被打开了。
其实我只需要使用传输完成中断,如何关闭半传输中断关断呢?

跟踪发现初始化时在HAL_ADC_Start_DMA函数中定义了回调函数hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt;
在HAL_DMA_Start_IT函数中,判断(NULL != hdma->XferHalfCpltCallback)后就打开了半传输中断。

/* Enable the transfer complete interrupt */
    /* Enable the transfer Error interrupt */
    if(NULL != hdma->XferHalfCpltCallback)
    {
      /* Enable the Half transfer complete interrupt as well */
      __HAL_DMA_ENABLE_IT(hdma, (DMA_IT_TC | DMA_IT_HT | DMA_IT_TE));
    }
    else
    {
      __HAL_DMA_DISABLE_IT(hdma, DMA_IT_HT);
      __HAL_DMA_ENABLE_IT(hdma, (DMA_IT_TC | DMA_IT_TE));
    }

这样岂不是要多进很多中断,请问应该如何使半传输中断不使能呢?

已邀请:
匿名用户

匿名用户

赞同来自:

顶一下,有人了解吗?

@smiling

赞同来自:

同求


要回复问题请先登录注册