老是弄不明白ADC的输入到底在哪,看了stm32F103Ve的datasheet,将引脚和通道的映射关系贴在下面:

好了,写到这,我已经看了中文手册一上午了,可是啥都没看懂,下午接着看,写代码不重要,理论高于实际。

ADC的四种模式:单次转换模式,连续转换模式,扫描模式,间断模式(间断模式分为规则组和注入组)

单次转换模式:ADC只执行一次转换,CONT=0。

连续转换模式:ADC转换一结束就启动另一次转换,CONT=1。

扫描模式:在每个组的每个通道上执行单次转换,在每个转换结束时,同一组的下一个通道被自动转换。

如果设置了CONT位,转换不会在选择组的最后一个通道上停止,而是再次从选择组的第一个通道继续转换。

间断模式:每一次外部触发信号可以执行一个短序列的n次转换(对于规则组n<16,对于注入组n<4),直到此序列的所有转换完成为    止。

注:当以间断模式转换一个规则组时,转换序列结束后不自动从头开始。

当所有子组被转换完成,下一次触发启动第一个子组的转换(下面的第四次触发)

例如: n=3,被转换的通道= 0、1、2、3、4、5、6、7

第一次触发: 转换的序列为 0、1、2

第二次触发: 转换的序列为 3、4、5

第三次触发: 转换的序列为 6、7  (此处不从头开始,此处产生EOC事件)

第四次触发: 转换的序列为 0、1、2

放到代码上看:

单个通道单次转换:ADC_NbrOfChannel = 1

ADC_ScanConvMode = DISABLE

ADC_ContinuousConvMode = DISABLE

多个通道单次转换:ADC_NbrOfChannel = n

ADC_ScanConvMode = ENABLE

ADC_ContinuousConvMode = DISABLE

单个通道连续转换:ADC_NbrOfChannel = 1

ADC_ScanConvMode = DISABLE

ADC_ContinuousConvMode =  ENABLE

多个通道连续转换:ADC_NbrOfChannel = n

ADC_ScanConvMode = ENABLE

ADC_ContinuousConvMode =  ENABLE

关于常规扫描模式和注入扫描模式:

先上图两张:

规则组是正常的ADC转换:

注入组实际是通过中断触发后来进行扫描转换。即如下:

总结:关于间断模式的内容以及注入的内容很少只涉及粗浅的概念,因为我还没有具体的机会去实践它,没有时间去实践就没有发言权。。。先把简单的弄明白好了,有朝一日再相会,千树万树梨花开。

stm32 引脚映射 和 ADC的更多相关文章

  1. STM32重映射(PinRemap)的使用,注意!

    STM32重映射,内容和细节稍后补充,这里只说几个注意点,花了我一晚上的时间调试终于找到问题所在了... 芯片: STM32f107vct6 晶振: 25M 通过分频器与锁相环,使系统时钟为72M 背 ...

  2. STM32内存映射

    一.概述 STM32内存映射是STM32的架构的重要组成部分,不可或缺. 二.STM32内存映射图 1.内存映射图--摘自<CM3权威指南> 2.内存映射图--摘自<STM32F10 ...

  3. STM32学习笔记(七) ADC模数转换测电平(普通和DMA模式)

    嵌入式系统在微控制领域(温度,湿度,压力检测,四轴飞行器)中占据着重要地位,这些功能的实现是由微处理器cpu(如stm32)和传感器以及控制器共同完成的,而连接他们,使它们能够互相正常交流的正是本小节 ...

  4. STM32 C++编程 004 Adc (数模转换)类

    使用 C++ 语言给 STM32 编写一个 Adc 类 我使用的STM32芯片:STM32F103ZET6 我们使用的STM32库版本:V3.5.0 注意: 想学习本套 STM32 C++编程 的专栏 ...

  5. STM32存储器映射和寄存器映射

    存储器映射 对于Cortex-M3来讲,有一块4G大小的存储器空间.存储器映射指的是芯片厂商为这个空间分配地址的操作.这4G空间被均匀地划分为8个大小为512MB的存储块(block),并且每个块都各 ...

  6. STM32重映射

  7. 嵌入式02 STM32 实验01 端口复用和重映射

    内设与外设: 端口复用和端口重映射都需要了解内设和外设,那么什么是内设?什么是外设? 内设:单片机内部集成的功能一般包括:串口模块.SPI模块(Serial Peripheral Interface  ...

  8. STM32端口复用和映射

    STM32的功能引脚重映射和复用功能STM32中有很多内置外设的输入输出引脚都具有重映射(remap)的功能,本文对一些在使用引脚重映射时所遇到的有关问题加以说明.我们知道每个内置外设都有若干个输入输 ...

  9. STM32.ADC

    ADC实验 原理图: 1.ADC配置函数 /* enable adc1 and config adc1 to dma mode */ ADC1_Init(); /** * @brief ADC1初始化 ...

随机推荐

  1. 代理类和AOP

    客户端不用调用目标对象了,直接调用代理类.最终目标方法还是去实行了. 代理类的每个方法调用目标类的相同方法,并且在调用方法时候加上系统功能的代码 代理和目标实现了相同的接口,有相同的方法.通过接口进行 ...

  2. Linux系统的关机、重启、睡眠

    一.关机.重启前的准备1.查看网络联机状态.后台可执行程序 查看一下两样东西,可以让你稍微了解主机目前的使用状态 查看网络联机状态:netstat  -a查看后台执行的程序:ps  -aux2.数据同 ...

  3. 【Java】阿里巴巴Java开发手册

    阿里巴巴Java开发手册 下载地址:https://github.com/alibaba/p3c 阿里巴巴代码规范检查插件p3c 下载地址:https://github.com/alibaba/p3c

  4. 解决 Win10 系统新建文件夹后需手动刷新才能显示

    摘自:https://blog.csdn.net/weixin_44447687/article/details/100702968 1.点击开始菜单,选择“运行”功能,然后在运行打开框中输入 reg ...

  5. Qt编写自定义控件63-水波效果

    一.前言 几年前就一直考虑过写这个控件了,在9年前用C#的时候,就看到过别人用C#写了个水波效果的控件,挺好玩的,当时看了下代码用的二维数组来存储变换的图像像素数据,自从学了Qt以后,有过几次想要用Q ...

  6. 3. Longest Substring Without Repeating Characters 无重复字符的最长子串

    1. 原始题目 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 &quo ...

  7. springboot 整合 Froala Editor 3

    springboot项目中使用 Froala Editor 3,参考官网文档:https://www.froala.com/wysiwyg-editor/docs/overview 下载文件后,引入c ...

  8. 解决javascript - node and Error: EMFILE, too many open files

    For some days I have searched for a working solution to an error Error: EMFILE, too many open files ...

  9. 用MATLAB的Classficiation Learner工具箱对12个数据集进行各种分类与验证

    准备材料 以所有的特征集作为variable进行像Bayes吖.SVM吖.决策树吖......分类.同时对数据进行预处理,选出相关度高的特征子集作为新的一组data进行分类(预处理的代码不必放出来). ...

  10. html收尾

    <form>input 元素</form> <fieldset ></fieldset > <legend ></legend> ...