在STM32家族里,多数系列芯片内含2到3个ADC模块,有的甚至更多,比方G4系列可以有5个ADC模块。其中,通道数因不同的系列或型号多少不等,几个到几十个的都有。有时,我们可能需要多个ADC模块同时工作,比方3个ADC模块同时采样转换。这时如果芯片内含有3个ADC模块,并支持同时采样转换就很方便。STM32家族里的STM32F4系列、STM32F7等其它系列都含有3个ADC模块,并支持同时AD采样转换。

这里就3个ADC模块同时进行采样转换应用,做个简单实现演示,以供有需要的用户参考。

此时3个ADC模块会建立主从关系。以STM32F4芯片为例。内部大致框架如下:

采样转换时按如下图示操作,每次对属于3个AD模块的3个通道进行AD转换。如果多组的话,依次扫描进行。

各通道转换结束时产生DMA请求,DMA按照ADC1、ADC2、ADC3的顺序依次将数据取走,然后放到指定的内存空间。

好,大致原理就介绍这么多。更多细节还是请阅读STM32参考手册的ADC相关章节。

这里在ADC1/ADC2/ADC3三个模块各选择2各通道,它们的通道号及相关输入连接如下:

【注:ADC模块的参考电压也选用VDD.下面实验基于STM32F407 DISCOVERY板来进行。】

另外,我这里使用STM32的TIM3的更新事件触发ADC转换。

01

  • 使用STM32CubeMx图形化配置工具完成基本配置

1.1    RCC/SYS等必需配置项目【略】

1.2    对ADC进行配置。

1.2.1       对ADC1及相关DMA进行配置。

1.3  对TIM3进行配置。

对TIM3的配置比较简单,安排你需要的时基参数,选择合适的触发输出即可。ADC转换靠它定期触发。

上面配置中,DMA传输中断默认使能了,至于其它,你根据需要选择使能。

02基于上面的CubeMx配置生成C代码工程。03

添加用户代码

3.1为DMA传输准备一个内存数组,用来存放转换结果。

__IO uint32_t ADC_Result[6];

3.2 添加启动ADC3/ADC2/ADC1以及TIM3的相关代码。

04

编译、运行、验证。

结果如下,结果是正确的。到此整个演示过程完毕。

看到这里,是不是觉得很简单呢。只要你愿意对STM32手册做认真阅读把把握相关原理,你也可以轻松实现。不过,或许有人对结果产生了疑问,DMA搬到数组的数据怎么是前面连续3个00,后面连续3个0xfff而不是00,fff,00,fff,00,fff呢?不妨结合上面的介绍和参考手册自行思考下,相信你可以找到答案。

stm32 adc 连续和扫描_技术分享 | STM32多个ADC模块同时采样转换的应用示例相关推荐

  1. mysql优化说出九条_技术分享 | MySQL 优化:为什么 SQL 走索引还那么慢?

    原标题:技术分享 | MySQL 优化:为什么 SQL 走索引还那么慢? 背景 2019-01-11 9:00-10:00 一个 MySQL 数据库把 CPU 打满了. 硬件配置:256G 内存,48 ...

  2. python个人博客搭建说明书_技术分享|利用Python Django一步步搭建个人博客(二)...

    原标题:技术分享|利用Python Django一步步搭建个人博客(二) Hello,欢迎来到我们的"利用Python Django一步步搭建个人博客"系列的第二部分.在第一部分中 ...

  3. 对称加密算法_技术分享丨这是一篇简单的小科普——什么是对称加密算法?(下)...

    大家好~我是贾正经,又到了干货满满的技术分享趴啦~ 上期我们讲解了对称加密算法的小知识,并介绍了国密算法中SM4算法的原理.(上集回顾) 本期带大家了解一下分组密码的五个模式. 分组密码的模式 首先了 ...

  4. 干涉测量技术的应用_技术分享 | 石化行业测量仪表应用在线答疑

    众所周知,在化工和石化这类流程行业当中,稳定性和持续性是至关重要的生产"命脉",对于生产过程中使用的测量仪表有着极其严格的要求. 不仅所有测量仪表都必须满足严苛的国际标准,如PED ...

  5. 大表与大表join数据倾斜_技术分享|大数据技术初探之Spark数据倾斜调优

    侯亚南 数据技术处 支宸啸 数据技术处 在大数据计算中,我们可能会遇到一个很棘手的问题--数据倾斜,此时spark任务的性能会比预期要差很多:绝大多数task都很快执行完成,但个别task执行极慢或者 ...

  6. java生成sm4算法的对称密钥_技术分享丨这是一篇简单的小科普——什么是对称加密算法?(下)...

    原标题:技术分享丨这是一篇简单的小科普--什么是对称加密算法?(下) 大家好~我是贾正经,又到了干货满满的技术分享趴啦~ 上期我们讲解了对称加密算法的小知识,并介绍了国密算法中SM4算法的原理. 本期 ...

  7. hive中字段长度函数_技术分享:hive常用内部函数

    原标题:技术分享:hive常用内部函数 hive常用内部函数 hive是一种典型的数据仓库分析工具,常用语编写hql语句进行指标分析.在编写hql的过程中无疑会用到很多的函数,哪本章来编写一些常见的函 ...

  8. mongodb 排序_技术分享 | MongoDB 一次排序超过内存限制的排查

    本文目录: 一.背景 1. 配置参数检查 2. 排序字段是否存在索引 二.测试环境模拟索引对排序的影响 1. 测试环境信息 2. 报错语句的执行计划解释 3. 建立新的组合索引进行测试 三.引申的组合 ...

  9. 2如何看表分区字段_技术分享|Oracle分区技术的实现总结

    郝秉睿 青岛科技研发中心 相信对于分区技术,大家一定都有所了解.但是你知道Oracle一共有多少种分区技术么?它们的适用范围和规范是怎样?今天让我们一起来看一看Oracle分区技术的魅力. 在大型的数 ...

最新文章

  1. pytest测试框架_聊聊 Python 的单元测试框架(三):最火的 pytest
  2. c++中的lambda特性
  3. SAP 电商云 Spartacus UI 设置 Delivery Mode 的时序分析和一个竞争条件问题分享
  4. linux iopen i2c dev,i2c-dev - Linux驱动子系统之I2C_Linux编程_Linux公社-Linux系统门户网站...
  5. foreach语句的的解析
  6. 华为任职资格_华为采购总部专业任职资格标准|
  7. Redis面试刁难大全
  8. 火眼公司发布公开漏洞奖励计划
  9. [jQuery]Great Ways to Learn jQuery
  10. Introduction to Computer Networking学习笔记(二十):delay guarantees延迟速度保证
  11. wmv怎么转换成视频mp4
  12. ubuntu 扫描局域网ip
  13. excel批量删除密码解除密码保护 可多个密码
  14. JS阻止form表单提交
  15. iOS应用安全Part1:搭建移动渗透测试平台
  16. NodeJs 面试题 2023
  17. [摘录]TGA图像文件格式资料
  18. 编一程序,从键盘输入圆的半径,计算并输出圆的正内接六边形的面积和占圆面积百分比
  19. Swift - 给图片添加滤镜效果(棕褐色老照片滤镜,黑白滤镜)
  20. BZOJ4864[BeiJing 2017 Wc]神秘物质——非旋转treap

热门文章

  1. 浅谈HR谈薪水的技巧
  2. 月薪11万招数据工程师,看到要求我傻眼了!
  3. 用随机梯度下降来优化人生
  4. 泰晤士“中国学科评级”结果出炉,中国数学学科评级榜单公示!
  5. 【文末有福利】艺术创造规则,而不是规则创造艺术
  6. 专注于皮肤病理诊断技术研发,贝叶科技赋予AI诊断可解释能力
  7. 很多人不知道的中国高校“V9联盟”,另一领域的顶尖牛校!
  8. 2018诺贝尔奖预测:美国11人,日本1人,中国无人入围
  9. 人类最强运载火箭诞生!马斯克吹的牛再次兑现!
  10. mongodb python 存文件_Python保存MongoDB上的文件到本地的方法介绍