STM32CubeMx配置ADC(多通道采集+DMA读取数据)(HAL库开发)

这篇具有很好参考价值的文章主要介绍了STM32CubeMx配置ADC(多通道采集+DMA读取数据)(HAL库开发)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、函数配置过程(这是标准库配置过程):

2、STM32CubeMx配置过程

 3、main函数源文件


采集5路ADC数据,并用串口printf()函数打印出来。

实验现象: 

STM32CubeMx配置ADC(多通道采集+DMA读取数据)(HAL库开发)

ADC转换的初始条件:

1、使能

2、触发源条件完成(这个需要自己配置)利用:HAL_ADC_Start_DMA()函数;

ADC中HAL开发优势就是,只需要配置HAL_ADC_Start_DMA()函数,直接可以控制多路ADC转换,非常简单。我们需要的数据,就在此函数的第二个参数中,记得看最下面的源码分析。

DMA转换的初始条件(这三个条件HAL已经帮忙配置完成):

1、使能

2、传输计数器大于1(发送数据寄存器里面有数据)

3、产生触发源条件:使能ADC触发DMA的条件(这个在STM32CubeMx已经帮忙配置完成)

1、函数配置过程(这是标准库配置过程):

仅仅在初始化代码中,需要调用一个函数启动ADC+DMA转换

函数: HAL_ADC_Start_DMA(&hadc1,(uint32_t*)&AD_Value,5);

参数1:选择ADC

参数2:选择需要存放数据的地址(数组)

2、STM32CubeMx配置过程

1、配置ADC基础配置

STM32CubeMx配置ADC(多通道采集+DMA读取数据)(HAL库开发)

 STM32CubeMx配置ADC(多通道采集+DMA读取数据)(HAL库开发)

2、配置DMA

 STM32CubeMx配置ADC(多通道采集+DMA读取数据)(HAL库开发)文章来源地址https://www.toymoban.com/news/detail-403384.html

 3、main函数源文件

uint16_t AD_Value[5];//定义一个数组



int main(void)
{
  HAL_Init();
  SystemClock_Config();

  MX_GPIO_Init();
  MX_DMA_Init();
  MX_ADC1_Init();
  MX_USART1_UART_Init();
	
    HAL_ADC_Start_DMA(&hadc1,(uint32_t*)&AD_Value,5);
	
  while (1)
  {
    	printf("ADC0:%d\r\n",AD_Value[0]);
		printf("ADC1:%d\r\n",AD_Value[1]);
		printf("ADC2:%d\r\n",AD_Value[2]);
		printf("ADC3:%d\r\n",AD_Value[3]);
		printf("ADC4:%d\r\n",AD_Value[4]);
		printf("\r\n");
		HAL_Delay(1000);

  }
}

到了这里,关于STM32CubeMx配置ADC(多通道采集+DMA读取数据)(HAL库开发)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32 CubeMX ADC采集 单通道,多通道,内部温度(轮询,DMA,中断)(HAL库)

    12位ADC是一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部 信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右 对齐方式存储在16位数据寄存器中。 模拟看门狗特性允许应用程序检测输入电压是否超出用户定

    2024年02月06日
    浏览(80)
  • STM32CubeMX配置-ADC多通道配置(DMA) (STM32G070)

    一、写在前面         ADC通道采集数据的两种方式:         1)ADC轮询采集数据直接放到数组中;         2)采用中断方式,ADC采集完成进入中断,中断关闭ADC采集,取数据之后再打开ADC采集。 以下按第一种方式实现: 二、ADC多通道配置 1)配置通道及参数     如果要控

    2024年02月05日
    浏览(49)
  • 【STM32】定时器1触发ADC多(规则)通道采样+DMA(CUBEMX配置)

    在用单片机做电源控制时不得不提ADC采集,离散系统是有固定的执行周期的,所以我们采样也是要固定时间去采样。然后就是我希望pwm波(定时器1产出)的频率与采样频率一致。 我下面演示的是G431CBU6,当然其他芯片也大差不差了。 说一下大致流程,TIM1触发ADC采样,然后

    2024年02月01日
    浏览(46)
  • STM32-微项目10-ADC多通道采集+DMA数据转移

    一、微项目实现目标: 由于ADC多通道采集在规则组中只有一个寄存器CR,实际上在多通道采集时刻,需要把每一个同都的数据及时传出,否则上一个通道的数据会被当前通道的数据给覆盖掉。 二、微项目硬件配置需求:  stm32F103C8T6核心板一块 0.96寸OLED显示,用于显示计数 三

    2024年02月16日
    浏览(57)
  • STM32CubeMX配置STM32G031多通道ADC采集(HAL库开发)

    时钟配置HSI主频配置64M  勾选打开8个通道的ADC  使能连续转换模式  配置好串口,选择异步模式 配置好需要的开发环境并获取代码  修改main.c 串口重定向  串口重定向一定要勾选Use Micro LIB  获取ADC通道值 主函数   串口输出

    2024年02月15日
    浏览(49)
  • 【正点原子STM32连载】第三十五章 多通道ADC采集(DMA读取)实验 摘自【正点原子】APM32E103最小系统板使用指南

    1)实验平台:正点原子APM32E103最小系统板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609294757420 3)全套实验源码+手册+视频下载地址: http://www.openedv.com/docs/boards/xiaoxitongban 本章介绍APM32E103的DMA进行多通道的ADC采集。通过本章的学习,读者将学习到DMA、ADC的使用。 本章分

    2024年01月24日
    浏览(46)
  • STM32Cubemx——ADC采集+DMA传输

    STM32F407VE核心板 STM32Cubemx 版本 6.0.1 Keil 版本 5.31 杜邦线 ST-Link 12 位 ADC 是逐次趋近型模数转换器。它具有多达 19 个复用通道,可测量来自 16 个外部源、两个内部源和 VBAT 通道的信号。这些通道的 A/D 转换可在单次、连续、扫描或不连续采样模式下进行。ADC 的结果存储在一个左

    2023年04月24日
    浏览(57)
  • STM32HAL ADC+TIM+DMA采集交流信号 基于cubemx

    本文主要讲解定时器触发ADC去采集交流信号,DMA把数据搬移到内存。 所需工具: 开发板:STM32F103C8T6 STM32CubeMX IDE: Keil-MDK 相关文章: STM32HAL ADC+TIM+DMA采集交流信号 基于cubemx(二) STM32cubemx ADC+TIM+DMA超频采样 ADC+TIM+DMA采集交流信号是电赛中使用范围最为广泛的一个技术。这个模

    2024年02月03日
    浏览(49)
  • STM32CubeMX配置ADC采样(轮询、中断、DMA)

    STM32CubeMX能够极大减小STM32外设配置的工作量,因此作者也借助空闲时间对STM32CubeMX相关配置进行了学习,本文介绍如何利用STM32CubeMX配置ADC采样,记录了作者学习过程中遇到的问题及解决办法,使大家少走弯路,并方便以后复习 先选择所使用的MCU,这里我使用的是STM32F407ZGT系

    2024年02月03日
    浏览(50)
  • 野火STM32电机系列(六)Cubemx配置ADC规则和注入通道

    前文已经配置了GPIO、编码器 本节讲解CubeMXADC规则和注入通道 本文adc注入通道采用定时器触发,因此在上文定时器配置的基础上进行 常规信号(温度等)使用带DMA的常规通道连续采样 注入采样由定时器触发,采集电机三相电流,并进入adc中断执行10khz的控制程序 ADC硬件接口

    2024年02月08日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包