STM32配置ADC2(DMA)进行采集 DAC 输出-1

这篇具有很好参考价值的文章主要介绍了STM32配置ADC2(DMA)进行采集 DAC 输出-1。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 实验目标

在正点原子的ADC(DMA)例程上,将ADC1改成ADC2来采集电压,并且进行测试
开发板:正点原子探索者STM32F407ZG

2. 查看adc.h和开发指南需要修改哪些配置

2.1 ADC相关

通过查看开发指南我们发现,ADC1 和 ADC2 的通道 5 都是采用的 PA5 引脚,就意味着我们修改为 ADC2 后还是可以通过 PA5 来进行电压的测量。
STM32配置ADC2(DMA)进行采集 DAC 输出-1
对应的我们在adc.h中找到相关的配置,这里开启的是 ADC1 的时钟
STM32配置ADC2(DMA)进行采集 DAC 输出-1
在这里我们要改为 ADC2 的时钟,即如下图所示。
STM32配置ADC2(DMA)进行采集 DAC 输出-1
如果不知道不知道 ADC2 对应的函数是什么,可以选中这个函数,然后右键 Go To 一下,一般来说相关配置的宏定义都会在弹出的文件的游标附近,可以自行找一下,或者是根据他的命名规则直接来修改也可以(一般是不会有问题,有问题了再说)
STM32配置ADC2(DMA)进行采集 DAC 输出-1

2.2 ADC和DMA数据流相关

通过数据手册我们可以看到,例程给的是 DMA2 的
通道 0 数据流 4 ADC1 的配置,我们需要修改为
通道 1 数据流 2 ADC2 的配置
STM32配置ADC2(DMA)进行采集 DAC 输出-1
还需要查看一下 DMA 中断相关的寄存器,注意标红的位置,一会修改的时候会用上
STM32配置ADC2(DMA)进行采集 DAC 输出-1
STM32配置ADC2(DMA)进行采集 DAC 输出-1
在adc.h中我们去查看一下相关的宏定义
STM32配置ADC2(DMA)进行采集 DAC 输出-1
看了手册后,我们对这里的宏定义修改应该行云流水了,下面是修改后的样子,注意标红的位置。根据上面的手册我们可以知道 HISR 和 HIFCR 是控制数据流 4-7 的,而我们现在输入的流是 2 所以对应的要修改为 LISR 和 LIFCR ,而这里的偏移量也是根据手册上标记的来设置的STM32配置ADC2(DMA)进行采集 DAC 输出-1
修改了以上的设置 adc.h就算是修改完成了,但是此时我们还是不能使用,因为在adc.c中还有一些地方需要修改

2.3 adc.c的修改

我们找到这个函数,发现这里的初始化函数是写死的参数,于是我们需要手动的进行修改
STM32配置ADC2(DMA)进行采集 DAC 输出-1
修改后的样子
STM32配置ADC2(DMA)进行采集 DAC 输出-1
到这里我们就成功的设置了使用 ADC2 来进行采集啦,下一节将会实现通过按键按下一次输出三角波,然后通过刚刚写好的 ADC2 来进行采集,并且通过串口发送到电脑上生成图像进行验证。

3. 注

可以采用adc_dma_enable(ADC_DMA_BUF_SIZE);来开启一次 ADC 的采集,采集的大小为ADC_DMA_BUF_SIZE我把ADC_DMA_BUF_SIZE的宏定义放在了adc.h中,我设置的大小为10000,大家可以根据自己的喜好来进行设置文章来源地址https://www.toymoban.com/news/detail-431124.html

4. 下一节:STM32配置ADC2(DMA)进行采集 DAC 输出-2

到了这里,关于STM32配置ADC2(DMA)进行采集 DAC 输出-1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • STM32CubeMX教程18 DAC - DMA输出自定义波形

    开发板(正点原子stm32f407探索者开发板V2.4) STM32CubeMX软件(Version 6.10.0) 野火DAP仿真器 keil µVision5 IDE(MDK-Arm) ST-LINK/V2驱动 一台示波器 逻辑分析仪nanoDLA 使用STM32CubeMX软件配置STM32F407开发板的 DAC OUT1实现输出0-3.3V 周期为12.8ms的正弦波形 由于STM32F407的两个DAC输出通道只能自动

    2024年01月19日
    浏览(50)
  • STM32 ADC采集 DMA中断处理

    //============================================ //函数名称:ADC1_Mode_Config(void) //功能描述:配置ADC1的工作模式为MDA模式 //输入:无 //输出:无 //============================================ void ADC1_Mode_Config(void) {         DMA_InitTypeDef DMA_InitStructure;         ADC_InitTypeDef ADC_InitStructure;              

    2024年02月14日
    浏览(47)
  • 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)
  • STM32-单通道ADC采集(DMA读取)实验

    关于ADC的一些原理和实验我们已经有了2篇笔记,链接如下: 关于ADC的笔记1_Mr_rustylake的博客-CSDN博客 STM32-ADC单通道采集实验_Mr_rustylake的博客-CSDN博客 实验要求:通过ADC1通道1(PA1)采集电位器的电压,并显示ADC转换的数字量和换算后的电压值。 我们通过下表可以知道DMA1通道

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

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

    2024年02月16日
    浏览(58)
  • 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)
  • 定时器(PWM输出)触发ADC采样(DMA)——STM32CubeMX

    我用的单片机是STM32F103CBTX 定时器:使用PWM输出的模式 ADC:使用DMA的模式 (在不使用DMA的情况下,定时器控制ADC进行数据采集只能是单通道!如果开启了多通道,读取到的ADC采集值只会是最后一个通道的值!所以,要想使用定时器控制ADC采集 多通道 , 必须使用DMA !)  看

    2024年04月10日
    浏览(50)
  • 【STM32F407 ADC+DMA采集压力变送器数据(HAL库)】

    之前项目中需要对麦克传感器的mpm480隔爆压力变送器(4-20ma输出)的数据进行实时采集,使用STM32F407作为控制器,使用信号转换模块将压力变送器4-20ma的输出转换为0-3.3v的信号量,输入到STM32F407板子的ADC1的通道10,并使用DMA2通道0数据流0将采集的多个值从外设直接存入存储器

    2024年02月16日
    浏览(64)
  • STM32采集4-20mA传感器,以及ADC+DMA出现的问题及解决

    STM32只能采集0-3.3V的数据,如果需要采集0-5V和4-20mA的数据需要在电路中进行相关设计: 0-5V采集电路 4-20mA采集电路 本文主要讲述4-20mA采集电路采集 电路输入4-20mA,作用在120欧姆电路(后面面是电压跟随电路,并联),对应输入电压0.48~2.4V STM32103ZET6为例,内部ADC采集12bit,0

    2024年04月12日
    浏览(33)
  • STM32 CubeMX ADC采集 单通道,多通道,内部温度(轮询,DMA,中断)(HAL库)

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

    2024年02月06日
    浏览(80)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包