前言

STM32 的ADC的一个强大功能是支持触发注入功能,在103中每个ADC模块支持4个注入通道,每个注入通道具有独立的结果突存器,注入通道具有较规划通道更高的优先级,在实际工程应用中,注入通道更多地会使用外部触发方式进行触发转换。关于注入模式的说明,在STM32的数据手册中有如下描述:

本节将给大家展示一下如保在STM32中使用双ADC的注入通道的使用,在ADC1中开启6个通道:0,1,2,3,4,5,其中0,1,2,3,用于规划通道,其结果用DMA来读取,4,5,用作注入通道,触发源为定时器1的TRGO信号。

示例详解

基于硬件平台: STM32F10C8T6最小系统板, MCU 的型号是 STM32F103c8t6, 使用stm32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。

本示例所用的最小系统板原理图:

  1. 关于CUBEMX工具及KEIL工具的操作将不再细讲,如果还有不熟悉的可以查看之前的教程文档。下面直接介绍工程配置:
  1. 系统时钟树

  1. 定时器配置

  1. ADC配置

​​

  1. 定时器1配置,用于产生触发源,1KHZ

  1. 引脚配置

  1. 中断配置(保持默认)

  1. 调整堆栈大:

  1. 工程代码
  1. 在main.c中加入如下代码

  1. 编译工程无错误后,调试程序:

View->Watch windows->Watch 1打开一个变量观察窗口,将变量ADC_result和InJAdc_result加入到 Watch 1 观察窗口:

分别将PA5, PA4 ,PA3, PA2, PA1, PA0 引脚接地查看结果:

Pa5 接地

Pa4 接地

Pa3 接地

Pa2 接地

Pa1 接地

Pa0 接地

可以看到输出的结果与ADC的配置是对应的,实验成功,成功用定时器1触发注入通道进行转转,并得到正确结果。

OK,本期实验完成!下期见!同时如果大家有什么疑问或是有想了解的其它内容,也欢迎大家留言!!最后喜欢这个公众号的同学们记得加关注了,会有不定期技术干货推出!!

文中源码资料下载,在公众号里给十三发消息:

下载|STM32进阶教程 17

关注十三公众号

STM32 进阶教程 17 - ADC注入通道相关推荐

  1. STM32 进阶教程 18 – ADC间断模式

    前言 STM32 的ADC拥有连续扫描模式,也有间断模式,间断模式较扫描模式需要更多的触发事件才能完成所有的通道转换操作,在实际工程应用中,可以利用间断模式实现一些特殊应用.关于间断模式,在STM32 ...

  2. STM32 进阶教程 16 - ADC1与ADC2同步采样

    前言 STM32中在有2个或以上ADC模块的产品中,可以使用双ADC模式.在双ADC模式里,根据ADC1_CR1寄存器中DUALMOD[2:0]位所选的模式,转换的启动可以是ADC1主和ADC2从的交 ...

  3. STM32 电机教程 17 - 基于ST MotorControl Workbench的电机调试

    前言 磁场定向控制又称矢量控制(FOC), 本质上为控制定子电流的幅度和相位,使之产生的磁场和转子的磁场正交,以产生最大的扭矩. PMSM的磁场定向控制框图如下图所示: 上一讲详细介绍了磁场定向控制的 ...

  4. STM32 进阶教程 20 - 串口+DMA实现OneWire总线

    前言 One-wire总线使用一根并联总线完成对于多个设备的访问,通过上拉的OD门实现多设备的读写操作,通过ID区别设备,通过CRC5完成数据校验.常见对于one-wire总线的操作代码主要使用包含基 ...

  5. STM32 进阶教程 19 - IQmath数学库的使用

    前言 STM32 M3 系列是不带浮点运算单元的,小数运算都是采用定点转浮点试式实现的,本节给大家介绍一个很好用的定点转浮点数学运算库,IQmath是德州仪器 (TI) 的一个高度优化的高精度数学函数 ...

  6. STM32 进阶教程 15 - 串口DMA收发

    前言 串口操作相信大家一定很熟悉,如果你已经会串口的收发数据,并可以灵活使用轮询及中断方式对串口进行数据收发,那么恭喜你,学完本节内容后,也将可以学会串口的更高级操作方式,DMA方式,DMA操作串口可 ...

  7. STM32 进阶教程 14 - 程序加密之FLASH读写保护

    前言 在嵌入式应用开发中,应用开发完成后往往需要对芯片中的程序进行加密处理,用以保护程序安全(不至被竞争对手从芯片把程序固件考走),本节将给大学介绍一个如何实现程序自动给芯片加密功能.学完本节内容,你 ...

  8. STM32 进阶教程 13 – FLASH的读写操作

    前言 在嵌入式应用开发中,经常会遇到掉电后还要保存的信息,这些信息通常只能保存在外部的一些存储芯片中,如外部flash,外部EEPROM, 其实这些信息同样可以保存在STM32自带的内部flash中, ...

  9. STM32 进阶教程 12 - M4的硬件乘法器使用

    前言 Cortex-M4支持硬件浮点运算单元(有些厂商直接说成DSP模块),本节将给大家介绍STM32F407芯片中硬件浮点运算单元中的使用及带来的性能对比. 示例详解 基于硬件平台: 正点源子的st ...

最新文章

  1. 11、Kubernetes集群安全机制
  2. AngularJS实现产品列表(页面搜索,排序)
  3. Error when loading the SDK:
  4. yii2 跨域请求配置_伸手党系列四:vuecli3.0以上 使用 proxy 进行跨域设置
  5. 全排列(递归与非递归实现)
  6. 【转】让itunes下载加速的真正办法,转向至香港台湾澳门苹果服务器 -- 不错不错!!!...
  7. Tomcat多实例和负载均衡
  8. java split()方法_Java编程性能优化一些事儿
  9. 鸿蒙系统发布会16号几点,华为鸿蒙手机系统正式定档发布,12月16日于我们见面...
  10. pythonjava解释xml_Python解析XML文档
  11. linux指令:输出重定向与追加- 输出重定向 - 表示追加
  12. Python 直接赋值、浅拷贝和深度拷贝全解析
  13. AdBlock插件离线安装
  14. 计算机网络奇偶校验码题目,计算机网络试题(考试必备)分解.doc
  15. 论MongoDB索引选择的重要性
  16. Mysql 事务锁等待时间超时
  17. Android平板/手机,使用qq视频通话图像旋转90度
  18. codeblocks 添加多个工程文件 codeblocks添加已存在工程
  19. MySQL 5.6.22绿色版安装
  20. 质数与合数系列——素数判断

热门文章

  1. HUST 1555 A Math Homework
  2. perf stat 输出解读
  3. powerdesigner反向MySQL5.1数据库 生成ER图
  4. 使用DOS命令找到占用80端口的程序,关闭该程序
  5. 初步了解Linux strace 命令和跟踪进程产生的系统调用
  6. Win32 API 浏览目录对话框示例
  7. 三个基本原理和概念 - 计算机图形学、数据加密、数据挖掘
  8. 水晶报表,解决——提示“您请求的报表需要更多信息.”
  9. ITCAST视频-Spring学习笔记(使用JDK中的Proxy技术实现AOP功能)
  10. IExtensibleObjectExtensibleHttpApplication的性能问题