首页 > 其他 > 详细

STM32CubeIDE 多通道ADC DMA转换

时间:2020-08-03 17:09:05      阅读:454      评论:0      收藏:0      [点我收藏+]

1、ADC1参数设置如下,本历程开启了9路ADC通道

技术分享图片

 

2、设置DMA

技术分享图片

 

3、设定DMA数据宽度(很重要),把数据宽度有默认的Half Word改为Word,否则两路的ADC值会合并成一个数据

 技术分享图片

 

 采集代码如下:

技术分享图片
/* USER CODE BEGIN Header_StartTaskCheckTemp */
uint32_t     ADC_DegitalValue[20];//定义ADC转换结果存放的数组
/**
* @brief Function implementing the myTaskCheckTemp thread.
* @param argument: Not used
* @retval None
*/
/* USER CODE END Header_StartTaskCheckTemp */
void StartTaskCheckTemp(void const * argument)
{
  /* USER CODE BEGIN StartTaskCheckTemp */
  /* Infinite loop */
  for(;;)
  {
    HAL_ADC_Start_DMA(&hadc1,ADC_DegitalValue,9);//9路ADC转换完后,DMA自动把对应的通道值放入该ADC_DegitalValue数组内
    osDelay(10);
  }
  /* USER CODE END StartTaskCheckTemp */
}
DMA_ADC采集

调试结果如下:

技术分享图片

 

STM32CubeIDE 多通道ADC DMA转换

原文:https://www.cnblogs.com/lizhiqiang0204/p/13427191.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!