STM32通过DMA方式采集多路AD

原创 2016年10月25日 10:46:43

       一个项目需求:使用STM32采集多路AD信号。

一般采集多路信号需要使用DMA方式,步骤如下:

1.使能相应ADC通道,这里使用ADC1的4个通道,分别是ADC123_IN0 ~ ADC123_IN3,

注:ADC123_IN0 表示ADC1, 2, 3 都可以使用该通道。

2.配置ADC,

将ADC设为多通道循环扫描模式,设置各通道扫描顺序(人为设定)

3.配置DMA通道

关键点在DMA的配置,ADC的采样值放在相应的数据寄存器中,通过DMA通道将该寄存器的值传输到内存中的某处(定义一个数组),内存地址自增,外设地址固定。则数组中的值就是各通道的采集数据。

代码如下:

adc.c



main.c


相关文章推荐

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

STM32通过DMA采集多通道AD

STM32通过DMA采集多通道AD 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.   环境: 主机:XP 开发环境:MDK4.23 MCU:S...
  • jdh99
  • jdh99
  • 2012年07月31日 17:29
  • 18235

STM32 ADC结合DMA数据采样与软件滤波处理

本文原创于观海听涛,原作者版权所有,转载请注明出处。 作为一个偏向工控的芯片,ADC采样是一个十分重要的外设。STM32集成三个12位精度18通道的内部ADC,最高速度1微秒,结合DMA可以解放CP...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

STM32之ADC 一个8通道DMA程序

/******************************************************************************* * Function Name  :...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

关于Stm32定时器+ADC+DMA进行AD采样的实现

Stm32的ADC有DMA功能这都毋庸置疑,也是我们用的最多的!然而,如果我们要对一个信号(比如脉搏信号)进行定时采样(也就是隔一段时间,比如说2ms),有三种方法: 1、使用定时器中断每隔一定...

STM32:ADC采集数据实例(采用DMA模式)

硬件平台:stm32f10xZET6 开发环境:keil MDK uVision v4.10 开发语言:C、ST_lib_3.5固件库 将STM32 开发板供电(DC5V),插上 JLINK,插上串...

STM32F103ZET6 之 ADC+TIM+DMA+USART 综合实验

1、实验目的 1)使用 TIM1 触发 ADC,ADC 采集的数据通过DMA 传至内存,然后通过串口打印出采集的数据;   2)学会 DMA 传输数据并将数据进行保存; 3)验证ADC 的采样率...
  • Cowena
  • Cowena
  • 2015年12月23日 21:54
  • 1985

STM32+DMA+UART+ADC+内部温度传感器

作者:number007cool 转自:http://blog.chinaunix.net/uid-21658993-id-1820027.html 由于文件很多,只列举几个关键的文件。 ADC...
  • whw8007
  • whw8007
  • 2013年05月30日 23:24
  • 939
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:STM32通过DMA方式采集多路AD
举报原因:
原因补充:

(最多只允许输入30个字)