STM32 ADC多通道DMA采集数据(HAL库)

2024-06-01 1232阅读

一、CubeMX配置

外部时钟配置: 

STM32 ADC多通道DMA采集数据(HAL库)

烧录配置:

 STM32 ADC多通道DMA采集数据(HAL库)

选择ADC1,开始需要的通道:

STM32 ADC多通道DMA采集数据(HAL库) 注意下面图片中ADC1的配置

(1)Data Alignment—>Right alignment 此项选择右对齐,保持不变。

(2)Scan Conversion Mode—>Enable 此项选择扫描模式使能,代表对4路ADC输入分别扫描,如果不使能,其将会只读取一个输入的值。

(3)Continuous Conversion Mode —>Enable 此项选择连续扫描模式,表示将连续不断的对ADC的值进行转换。如果此项不使能,将会只采集一次就会停止,直到下一次使能才继续进行一次ADC转换。

(4)Discontinuous Conversion Mode—>Disable 此项和第三项是正好相反,如果选择使能,会对ADC通道进行分组。

(5)Number of Conversion---->2 此处有多少路输入就选择多少,而且只有在此处选择数字之后下面才会出来4个不同的通道。

(6)在出现的2个Rank中,分别配置每一路,例如Rank1配置为Channel 0,采样时间3Cycles; Rank2配置为Channel 1,采样时间同样为3Cycles。此处的注意事项是,如果你不对每一路进行检查配置,可能出现好多Rank同时采集一个Channel,从而导致AD的采集数据的错误。
公式为: Tconv = 采样时间 + 12.5 个周期

STM32 ADC多通道DMA采集数据(HAL库)

 STM32 ADC多通道DMA采集数据(HAL库)STM32 ADC多通道DMA采集数据(HAL库)

ADC的DMA配置:

STM32 ADC多通道DMA采集数据(HAL库) 时钟树配置:

STM32 ADC多通道DMA采集数据(HAL库)

STM32 ADC多通道DMA采集数据(HAL库)

二、代码部分

代码部分十分简单

我们只需要先声明一个存放数据的数组:

uint16_t ADValue[2];

然后再在main函数的初始化里面加入

 HAL_ADC_Start_DMA(&hadc1,(uint32_t*)ADValue,2);

整体代码如下

int main(void)
{
  /* USER CODE BEGIN 1 */
	uint16_t ADValue[2];
  /* USER CODE END 1 */
  /* MCU Configuration--------------------------------------------------------*/
  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();
  /* USER CODE BEGIN Init */
  /* USER CODE END Init */
  /* Configure the system clock */
  SystemClock_Config();
  /* USER CODE BEGIN SysInit */
  /* USER CODE END SysInit */
  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_DMA_Init();
  MX_ADC1_Init();
  /* USER CODE BEGIN 2 */
 HAL_ADC_Start_DMA(&hadc1,(uint32_t*)ADValue,2);
 
  /* USER CODE END 2 */
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */
    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

上述内容参考自

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]