再单ADC模式下,该机制的实现很简单,但是无法通过Cube进行设置,需要手动添加两部分代码,如下所示:
首先在DMA初始化函数中添加如下代码:
if (HAL_DMAEx_MultiBufferStart((&hadc1)->DMA_Handle,(uint32_t)&hadc1.Instance->DR,mem0addr,mem1addr,memsize)!= HAL_OK){
printf("\r\n HAL_DMAEx_MultiBufferStart failed!");
}
HAL_ADC_Start_DMA(&hadc1,(uint32_t *)mem0addr, memsize);
__HAL_DMA_ENABLE_IT(&hdma_adc1,DMA_IT_TC); //开启传输完成中断
|
———————————————— 版权声明:本文为CSDN博主「tsinghua_clannad」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/tsinghua_clannad/article/details/115979064