【STM32系列】ADC —— 模数转换器
由于最近忘记了,自用。
转换模式
单次转换,非扫描模式
- 在非扫描模式下,列表中就只有序列1的位置有效,此时可以在序列1的位置指定我们想要转换的通道,然后ADC就会对这个通道进行模数转换。
- 等待一段时间,转换完成后,转换结果放在数据寄存器中,同时给EOC标志位置1,转换过程结束,可以在数据寄存器中读取结果,并且想要再启动一次转换,那么就需要手动再触发一次转换,如此往复。如果要换一个通道转换,那么就在转换之前,将序列1的通道改变即可。
连续转换,非扫描模式
- 非扫描模式下,列表中就只有序列1的位置有效,序列1中的通道进行转换。
- 连续转换在一次转换结束后不会停止,而是立刻开始下一轮的转换,并且一直持续下去。转换之后不需要等待一段时间,因为一直都在转换,不需要手动开始转换,也不需要判断是否结束,随时可以从数据寄存器中读取AD值。
单次转换,扫描模式
- 扫描模式,可以选择多个序列,指定通道数目, 每个序列中的通道可以重复,每次触发之后,就会依次对前几个数目的通道进行转换。转换的结果都放在数据寄存器里,为了防止被覆盖,就需要用DMA将数据及时挪走。几个通道转换完成之后,EOC标志位置1,转换结束,然后需要手动触发下一次,才能开始新一轮的转换。
- 单次转换,每触发一次,等到转换结束后就会停止,下次转换就需要再次触发才能开始。
连续转换,扫描模式
- 扫描模式,可以选择多个序列,指定通道数目, 每个序列中的通道可以重复,每次触发之后,就会依次对前几个数目的通道进行转换。
- 连续转换,一次扫描完成后,立马开始下一次的转换,不需要手动触发。
间断模式
是在扫描模式下的,是在扫描的过程中,每隔几个转换,就暂停一次,需要再次触发才能继续。
触发控制
规则组的触发源
触发控制有来自定时器的信号,也有来自引脚或者定时器的信号(需要用AFIO重映射决定),还有一个就是软件触发。
数据对齐
右对齐
16/12/8...位的数据向右靠,高位多出来的补零。
左对齐
16/12/8...位的数据向左靠,低位多出来的补零。左对齐得到的数据会比实际上大,实际上就是把数据左移了几次,数据左移一次,就是将数据乘以2。一般不用。
转换时间
采样保持(打开采样开关,小电容存储电压) + 量化编码(ADC逐次逼近,位数越多花时间越长)
- 采样保持的过程,需要闭合采样开关,等待电容充满后再断开采样开关,就会产生一个采样时间。采样保持花费的时间,可以在程序中进行配置为多少个时钟周期,采样保持的时间越长,那么精度就越高,越能避免毛刺信号的干扰,但是采样的频带就越小。
- x位的ADC花费的量化编码的时间就是x+0.5个时钟周期。例如16位分辨率的ADC,处理一位的信号,就需要一个时钟周期,最后0.5的时钟周期是臃肿时间。
- 可以使得ADC超频,转换时间可以更短,不过稳定性就没法保证了。
校准
【STM32系列】ADC —— 模数转换器的更多相关文章
- Keil MDK STM32系列(六) 基于抽象外设库HAL的ADC模数转换
Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...
- STM32系列ARM单片机介绍
STM32系列基于专为要求高性能.低成本.低功耗的嵌入式应用专门设计的ARM Cortex-M3内核.按性能分成两个不同的系列:STM32F103"增强型"系列和STM32F101 ...
- STM32之ADC+步骤小技巧(英文)
神通广大的各位互联网的网友们.大家早上中午晚上好好好.今早起来很准时的收到了两条10086的扣月租的信息.心痛不已.怀着这心情.又开始了STM32的研究.早上做了计算机控制的PID实验,又让我想起了飞 ...
- 关于Stm32定时器+ADC+DMA进行AD采样的实现
Stm32的ADC有DMA功能这都毋庸置疑,也是我们用的最多的!然而,如果我们要对一个信号(比如脉搏信号)进行定时采样(也就是隔一段时间,比如说2ms),有三种方法: 1.使用定时器中断每隔一定时间进 ...
- 硬件——STM32,ADC篇
未完,待续...... 也就是stm32f10X系列的adc采集出来的结果是12位的 stm32f10X系列有两个16位adc 关于程序的编写方法:一般 “某某.c文件”:都是用来设置“某某”的一些 ...
- STM32之ADC实例(基于DMA方式)
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/zouleideboke/article/details/75112224 ADC简介: ADC(An ...
- STM32的ADC采样时间
STM32的ADC采样时间与其ADC的时钟频率密不可分. 例:STM32F103系列的ADC的时钟是在APB2(最大72MHZ)上.我们可以对其分频: RCC_PCLK2_Div2: ADC cloc ...
- Keil MDK STM32系列(九) 基于HAL和FatFs的FAT格式SD卡TF卡读写
Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...
- Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发
Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...
- Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401开发
Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...
随机推荐
- 前端开发系列085-Node篇之global
本文介绍Node中的全局对象,包括global本身以及控制台输出对象Console.require函数.定时器相关方法以及\_\_filename和\_\_dirname等全局变量. 一.global ...
- leetcode 54 螺旋数组
简介 忘不了, 这是华为面试官给我的面试题, 但是我没有在1分钟内做出来. 或许那个时候面试官本来就不想要一个人. 使用模拟的方法. 使用一个visited数组, 判断是否走到边界, 只有四个方向: ...
- OS-MacOS-MacBook Pro 的电源管理 + 主动切换独立 或 集成显卡的 gpuswitch 选项;
通过 MacOS 的: System Information可以查看显卡以及所有的硬件和软件的情况: Activity Monitor 可以监控系统的Energy / CPU / Memory / N ...
- 8种品牌PLC单片机实现Modbus RTU串口通信协议主站视频教程
8种品牌PLC单片机实现Modbus RTU串口通信协议主站视频教程 一.罗克韦尔AB Micro850系列PLC实现Modbus RTU串口通信协议主站视频教程:罗克韦尔AB Micro850系列 ...
- 如何快速无缝的从 vscode 转向AI编辑器 cursor、kiro、trae 等
如果你之前经常使用 vscode 的话,这篇文章会帮助你开始使用 AI 编辑器 kiro.cursor.trae 等,因为后者的配置和插件等都和 vscode 是共通的.甚至 kiro.cursor ...
- jqurey源码解析
jquery源码解析 jquery对象 // jQuery的写法 var $jQuery = function(selector, context) { //JQ对象根本就是init函数的实例对象,而 ...
- [k8s]容器基础-隔离与限制
容器其实是一种沙盒技术.顾名思义,沙盒就是能够像一个集装箱一样,把你的应用"装"起来的技术. 这样,应用与应用之间,就因为有了边界而不至于相互干扰: 而被装进集装箱的应用,也可以被 ...
- Docker问题解决:Error response from daemon: Get https://registry-1.docker.io/v2/yandex/clickhouse-server/manifests/latest: net/http: TLS handshake timeout
方法1: vi /etc/docker/daemon.json { "registry-mirrors": ["http://hub-mirror.c.163.com&q ...
- git-下载
1.从https://gitforwindows.org/下载最新的或者这里https://git-scm.com/
- 深入浅出了解生成模型-6:常用基础模型与 Adapters等解析
更加好的排版:https://www.big-yellow-j.top/posts/2025/07/06/DFBaseModel.html 基座扩散模型 主要介绍基于Unet以及基于Dit框架的基座扩 ...