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

2023-10-30

前言

STM32 的ADC拥有连续扫描模式,也有间断模式,间断模式较扫描模式需要更多的触发事件才能完成所有的通道转换操作,在实际工程应用中,可以利用间断模式实现一些特殊应用。关于间断模式,在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编译代码。

 

https://qqadapt.qpic.cn/txdocpic/0/ad280c7f41fa67a458971858b186dee2/0?_type=png

 

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

https://qqadapt.qpic.cn/txdocpic/0/1f1e16f872cc1c38528523590d91ded9/0?_type=png

 

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

https://qqadapt.qpic.cn/txdocpic/0/6cd075954a608fdcd14860e60efd0ace/0?_type=png

  1. 定时器配置

https://qqadapt.qpic.cn/txdocpic/0/2fa55ed2488ba9dc1b964920e0ad854d/0?_type=png

  1. ADC配置

​​

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

  1. 引脚配置

 

https://qqadapt.qpic.cn/txdocpic/0/e336a09f3b1aa1967eddfdbffde7db39/0?_type=png

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

  1. 调整堆栈大:

https://qqadapt.qpic.cn/txdocpic/0/f11359bcd6ae249fc87bbb7ceaea91f6/0?_type=png

 

  1. 工程代码

 

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

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

https://qqadapt.qpic.cn/txdocpic/0/154d710689406f6c5646e29309140161/0?_type=png

 

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

 

修改HAL_ADCEx_InjectedConvCpltCallback函数响应操作:

再次运行,仿真查看结果:

修改HAL_ADCEx_InjectedConvCpltCallback函数响应操作:

再次运行,仿真查看结果:

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

Pa5 接地

 

Pa4 接地

 

Pa3 接地

 

Pa2 接地

 

Pa1 接地

 

Pa0 接地

 

 

可以看到输出的结果与ADC的配置是对应的,实验成功,成功用定时器1触发注入通道进行转转,并得到正确结果。通过与上一讲内容的对比,不难发现,间断模式下转换完一次后需要再次时行触发操作才会自动进入下一次转换操作。

 

 

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

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

下载|STM32进阶教程 18

https://qqadapt.qpic.cn/txdocpic/0/33e93a3ffa666674ea3a47189ca6fa34/0?_type=png

 

关注十三公众号

https://qqadapt.qpic.cn/txdocpic/0/809b788f69f85d78eb48eea2664d8f43/0?_type=jpeg

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32 进阶教程 18 – ADC间断模式 的相关文章

随机推荐

  • vue-quill-editor踩坑记录--富文本内容回显样式不对

    使用vue quill editor写的富文本 内容在H5使用v html显示时 样式跟在富文本写的时候样式不一样 字体大小显示不出来 原因 有些类名 在v html页面是没有找到的 解决 全局或者局部引入vue quill editor的
  • js用户密码强度验证函数

    原文地址 http blog csdn net dreamzml article details 9225529 s调用此函数 返回密码强度级别 html view plain copy print function getStrength
  • mysql索引覆盖-百万数据表优化

    文章目录 前言 一 业务场景 二 问题分析 三 回表代价 四 解决方案 总结 前言 写博客是自己对知识梳理 目前是写给自己看 算是自己学习后的作业 也是为了养成一个良好的习惯 一 业务场景 先看看以下关于查询用户订单的慢SQL的问题该如何优
  • volatile 关键字-这一篇就够了

    下文笔者将详细介绍volatile这一篇文章 将使你真真的了解到volatile关键字的用法 如下所示 volatile关键字 的功能 我们都知道volatile关键字有两个功能 1 保证变量的内存可见性 2 禁止指令重排序 可见性 例 变
  • 自学软件测试,1个月内如何快速学到可以找工作的程度?

    首先说下写这篇文章的目的 测试猿课堂在招生的过程中 发现有部分学员因为一些自身的情况 想先短时间学一下软件测试的基础知识 达到可以就业的程度就立马找工作 然后边上班边学习 这种情况可以理解 希望能通过这篇文章 帮助更多急于转行 但同时又希望
  • 二十.刷题.12

    题目 打印出所有水仙花数 所谓水仙花数是指一个三位数 其各位数字立方和等于该数本身 例如 153是一个水仙花数 因为153 1的三次方 5的三次方 3的三次方 include
  • 常用大数据框架对比

    最近看到一篇写大数据框架的文章 写的非常好 也根据自己的经验做一些总结吧 大数据框架的选型对刚接触分布式运算的人来说确实有点迷茫 希望这篇文章可以对大家有所帮助 简介 大数据是收集 整理 处理大量大规模数据集 并从中获得见解所需的非传统战略
  • ES相关DSL语句(持续更新)

    索引操作 创建索引 创建索引使用PUT请求 后面跟上索引名称就好了 由于7 x默认type为 doc 所以后面不必跟上type了 在PUT简单请求同时 可以加上JSON请求体 进行复杂创建 创建索引user 可以通过参数setting设置分
  • C语言编写九九乘法表

    文章目录 基于C语言的九九乘法表实现 1 右上三角 2 左下三角 3 左上三角 4 右下三角 基于C语言的九九乘法表实现 1 右上三角 九九乘法表 右上三角 include
  • IDEA2019自动定位文件

    今天帮同时设置一下 idea自动定位文件 突然发现 idea2019的设置和以前不同了 今天就来记录一下 点击设置按钮 勾选住always select opened file就可以了
  • 学习笔记:关于上拉输入、下拉输入、模拟输入、浮空输入、推挽输出、开漏输出、复用输出的区别

    1 上拉输入 上拉就是把电位拉高 比如拉到Vcc 上拉就是将不确定的信号通过一个电阻嵌位在高电平 电阻同时起限流作用 弱强只是上拉电阻的阻值不同 没有什么严格区分 2 下拉输入 就是把电压拉低 拉到GND 与上拉原理相似 3 浮空输入 浮空
  • PCA:利用PCA(四个主成分的贡献率就才达100%)降维提高测试集辛烷值含量预测准确度并《测试集辛烷值含量预测结果对比》—Jason niu...

    load spectra temp randperm size NIR 1 P train NIR temp 1 50 T train octane temp 1 50 P test NIR temp 51 end T test octan
  • 游戏开发unity编辑器扩展知识系列:自定义菜单子项MenuItem

    参考 https blog csdn net leonardo davinci article details 78503601
  • 爬虫逆向实战(18)-某得科技登录(base64、cookie)

    一 数据接口分析 主页地址 某得科技 1 抓包 通过抓包可以发现数据接口是AjaxLogin 2 判断是否有加密参数 请求参数是否加密 查看 载荷 模块可以发现有一个password加密参数和一个 RequestVerificationTo
  • 排序算法浅识

    排序说简单也简单 说复杂某些地方也是有些绕 这里做做笔记 帮助自己记忆和理解常接触的排序算法到底是什么鬼 什么是排序 其实就是排大小啊大佬 排序的稳定性 为何排序的稳定性很重要 在初学排序时会觉得稳定性有这么重要吗 两个一样的元素的顺序有这
  • Android studio将一个项目作为module导入另一个项目

    1 把要导入的项目变为module 把项目build gradle文件下的 apply plugin com android application 改为 apply plugin com android library 同时删除文件中的
  • 信息检索——查询似然模型(例题)

    例题 信息检索导论 修订版 习题12 7 假定某文档集有如下4篇文档组成 为该文档集建立一个查询似然模型 假定采用文档语言模型和文档集语言模型的混合模型 权重均为0 5 采用MLE来估计两个一元模型 计算在查询click shears以及c
  • 阿里云服务器安装宝塔面板完整图文教程

    下面稍微介绍一下如何使用阿里云服务器安装宝塔面板 概述 如果还有不了解宝塔面板怎么使用的小伙伴 可以看下我总结的系列教程 保证从新手变老鸟 宝塔面板精选教程汇总 宝塔面板教程 1 基于云服务器搭建宝塔面板教程最全详解 宝塔面板教程 2 宝塔
  • 数据的相似性

    相异性矩阵 衡量数据对象之间相关的程度 d i j 表示第i个数据与第j个数据之间的距离 计算数据之间的距离 类别属性 我们可以用失配比的方法进行计算 两个数的失配比指它们中值 不相等 的属性个数占总属性个数的比例 如 计算距离时没有必要考
  • STM32 进阶教程 18 – ADC间断模式

    前言 STM32 的ADC拥有连续扫描模式 也有间断模式 间断模式较扫描模式需要更多的触发事件才能完成所有的通道转换操作 在实际工程应用中 可以利用间断模式实现一些特殊应用 关于间断模式 在STM32的数据手册中有如下描述 本节将给大家展示