收藏0 举报
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); //开启传输完成中断
void DMA2_Stream0_IRQHandler(void) { if(__HAL_DMA_GET_FLAG(&hdma_adc1,DMA_FLAG_TCIF0_4)!=RESET)//DMA传输完成{ __HAL_DMA_CLEAR_FLAG(&hdma_adc1,DMA_FLAG_TCIF0_4);//清除DMA传输完成中断标志位 if (hdma_adc1.Instance->CR&(1 << 19))//buf0已满,正常处理buf1 { DMAFLAG=0; }else //buf1已满,正常处理buf0 { DMAFLAG=1; } } }
if(HAL_ADC_Start(&hadc3)!=HAL_OK){ Error_Handler(); } if(HAL_ADC_Start(&hadc2)!=HAL_OK){ Error_Handler(); } if(HAL_ADCEx_MultiModeStart_DMA(&hadc1,(uint32_t*)ADC_Result,48)!=HAL_OK){ Error_Handler(); } HAL_TIM_Base_Start(&htim2);
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) { DMAFLAG++; } void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc) { DMA_HALF_FLAG++; }
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
87
1250
0
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注电源系统设计
扫码关注21ic项目外包
扫码浏览21ic手机版
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才
京公网安备 11010802024343号