[STM32H7] STM32CubeMX-H7-6-ADC单多通道以及DMA

[复制链接]
 楼主| tpgf 发表于 2025-2-6 13:27 | 显示全部楼层 |阅读模式
单通道连续采样
STM32CubeMX配置


按参数配置就好

7809067a448345bfb7.png

keil代码编写
定义变量
uint32_t adc_value;

3994467a4482e1c10f.png

采集
          HAL_ADC_Start(&hadc1);

    // 等待转换完成
    if (HAL_ADC_PollForConversion(&hadc1, 100) == HAL_OK)
    {
      // 读取转换结果
      adc_value = HAL_ADC_GetValue(&hadc1);
        adcf= (adc_value/4096.0)*3.3;
      printf("ADC value: %f\r\n",  adcf);
    }
HAL_Delay(1000);
    // 停止ADC转换
    HAL_ADC_Stop(&hadc1);

7374867a44825cee49.png

0V和3.3V的结果

7209967a4482017e82.png

多通道连续采样
STM32Cubemx配置
下面那里确定好通道

3631967a448186fd7a.png

keil代码编写
定义变量
uint32_t adc_values[2];

1344567a44812d46d7.png

采集代码
        HAL_ADC_Start(&hadc1);

        // 等待所有通道转换完成
       HAL_ADC_PollForConversion(&hadc1, 100) ;
            // 读取每个通道的转换结果
            for (i = 0; i <2; i++)
            {
                adc_values = HAL_ADC_GetValue(&hadc1);
                printf("%d+%d\r\n", i, adc_values);
            }

        // 停止ADC转换
        HAL_ADC_Stop(&hadc1);

        HAL_Delay(1000); // 延时1秒
结果验证

3664267a4480b491a6.png

单通道ADC+DMA采样
STM32Cubemx配置

6916467a448060beae.png

24567a44800a6a67.png

keil代码编写
定义并且加上去
uint16_t adc_buffer[100];
HAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buffer, 100);
uint32_t sum = 0;
uint16_t average;

5389967a447fb5464a.png

添加裸机循环
    for ( i = 0; i < 100; i++)
    {
      sum += adc_buffer;
    }
    average = sum / 100;
    printf("%d\r\n",average);
    sum = 0;

4023167a447f4cf815.png

实现功能

7956467a447efe1496.png

多通道ADC+采样
STM32Cubemx配置
采样时间放长一点,要不然会卡死

8133167a447e993d7c.png

2855267a447e3ef60c.png

keil代码编写
创建存储变量
uint16_t adc_buffer[2];

3899567a447deb5281.png

初始化
HAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buffer, 2) ;

5147367a447d5d0012.png

采集代码

    printf("%d+%d\r\n", adc_buffer[0],adc_buffer[1]);

1851667a447ccd81ec.png

结果验证

8165167a447c7b66f2.png

————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/m0_74211379/article/details/145409233

小小蚂蚁举千斤 发表于 2025-2-6 22:06 | 显示全部楼层
非常不错的资源分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2350

主题

17466

帖子

21

粉丝
快速回复 在线客服 返回列表 返回顶部