STM32之ADC原理
ADC的位数决定了ADC的精度,有8位的,12位的,16位的等。
还有一个很重要的参数就是转换时间。
STM32f103RBT6有2个ADC控制器。128KFlash,20KRAM
每一个ADC控制器都有多个通道,例如ADC1的外部通道有16个,可以理解为有一个开关分别连接各个通道。
每个通道的采样间隔和采样时间都可以设置。
三。ADC各通道与IO管脚对应表
一般负参考电压接地,正参考电压接3.3V。
模拟输入电压不能超过3.3V,否则输入引脚可能被烧毁。
ADC框图
Vref+连接到VDDA,Vref-连接到VSSA。
最多4个通道连接到注入通道,最多16个通道连接到规则通道。
什么是规则通道:相当于正常运行的程序,最多16个通道,规则通道和它的转换顺序在ADC_SQRx中选择,规则组转换的总数应写入ADC_SQR1寄存器的L[3:0]中。
规则通道转换的结果保存在规则通道中。
什么是注入通道:相当于中断,最多4个注入通道。注入组和它的转换顺序在ADC_JSQR寄存器中选择,注入组里转换的总数应写入ADC_JSQR寄存器的L[1:0]中。
注入通道转换的结果保存在注入通道的数据寄存器中。
规则通道VS注入通道
四。单次转换VS连续转换
单次转换完成后不会自动转到另外一个通道的转换,需要手动设置才能启动,连续转换是ADC转换结束后马上就自动启动另一次转换。
扫描模式
只在最后一个通道转换完毕后才会产生EOC或JEOC中断。一般通过DMA读取数据。
五。ADC中断
六。ADC的时钟配置
例如:系统时钟是72M,就要选择6分频或8分频,6分频为12M。
七。ADC_CR1寄存器
这里我们一般选择独立模式。
八。ADC_CR2寄存器
九。对齐方式
因为STM32为12为AD,寄存器为16位,所以需要选择对齐方式。
本次实验中选择的软件转换,也就是19:17位设置为111.
十。ADC_SMPR1寄存器
十一。ADC_SMPR2寄存器
ADC的时钟已经有RCC_CFGR寄存器设置。
ADC_SMPR1和ADC_SMPR2寄存器用来设置通道0到通道17的采样时间。ADC每个通道都可以独立设置采样时间。
?注:应该是最小转换时间为1us
最小的转换时间是1us。
十二。ADC_SQR1,SQR2,SQR3规则序列寄存器
设置规则通道序列的长度,第一个转换对应哪一个通道,第二个转换对应哪个通道等等。
十三。ADC_JSQR注入系列寄存器
十四。ADC_DR 规则通道数据寄存器
我们这里主要用到低16位。
十五。ADC_SR 状态寄存器
十六。ADC常用的库函数
例:
STM32之ADC原理相关推荐
- STM-32:ADC模数转换器—ADC单通道转换/ADC多通道转换
目录 一.ADC 模数转换器 1.1ADC简介 1.2 逐次逼近型ADC工作原理 1.3STM32中的ADC基本结构 1.4STM32中ADC的输入通道 1.5STM32中的ADC的四种转换模式 1. ...
- STM32光敏传感器原理
发现很多人都使用光敏电阻,但只是用了AD读取了电压值,或者算出了电阻值,就发送给上位机或者服务器,美其名曰获取了光照度,但其原理并...... 图中的 LS1 就是光敏传感器,其实就是一个光敏二极管, ...
- STM32理论 —— ADC、存储、定时器、时钟、中断
文章目录 1. ADC 1.1 ADC相关寄存器 1.1.1 ADC 控制寄存器1(ADC_CR1) 1.1.2 ADC 控制寄存器2(ADC_CR2) 1.1.3 ADC 采样时间寄存器(ADC_S ...
- STM32模数转换器(ADC)
1.ADC的简要 我们首先说一下ADC的转换过程,然后说一下原理,当然如果嫌啰嗦可以直接跳过. ADC是英文Analog-to-Digital Converter缩写,翻译过来就是模数转换器,是指将连 ...
- STM32使用ADC+电位器测电压
一.WDD35D-4导电塑料电位器 1. 电位器 电位器是具有三个引出端.阻值可按某种变化规律调节的电阻元件.电位器通常由电阻体和可移动的电刷组成.当电刷沿电阻体移动时,在输出端即获得与位移量成一定关 ...
- 使用HAL库开发STM32:ADC基础使用
文章目录 目的 基础说明 基础使用 配置选项说明 轮询 单通道 单次 轮询 单通道 连续 轮询 多通道 扫描 中断 单通道 中断 多通道 扫描 DMA 单通道 单轮 DMA 单通道 连续 DMA 多通 ...
- STM32之ADC实例(基于DMA方式)
出处:https://blog.csdn.net/zouleideboke/article/details/75112224?locationNum=9&fps=1 ADC简介: ADC(An ...
- 双极型adc与stm32_关于STM32 双ADC同步规则转换两路数据的问题?
因系统要求需升级ADC的采样方式(以前方式:扫描方式,TIMER2触发ADC软启动,2通道规则序列,DMA传完中断),为了进一步实现两路信号的同步性能,采样STM32 双ADC同步规则转换.(time ...
- STM32 FSMC/FMC原理保姆级讲解(二)
上一话我们说了FSMC的基本原理及控制逻辑,这一讲我们来说下FSMC如何通过HAL库来进行配置,及具体参数 STM32 FSMC/FMC原理保姆级讲解(一) FSMC的初始化 在使用SRAM之前,我们 ...
最新文章
- Python 的一万种用法:制作 Web 可视化页面
- net::ERR_INCOMPLETE_CHUNKED_ENCODING
- 汤家凤高等数学2020年强化笔记-第三模块-积分学
- java json对象 输出_拼json字符串输出java对象
- ServletConfig的详解
- Microsoft VBScript 编译器错误 错误原因 代码大全
- 如何一行代码搞定SSD模型推理与结果解析
- [No000011A]Office Excel设置显示日期与星期
- easyBCD多系统引导软件
- MongoDB安装配置(Windows)
- MacOS系统下matplotlib中SimHei中文字体缺失报错的解决办法
- 安装mosek并配置到matlab
- C语言中的运算符(超全超详细)
- python词云图实例
- 自家主机建云服务器_是用云主机还是自己建服务器好?
- 计量经济学计算机第1章习题,计量经济学第1章习题.pdf
- 计算机网络安全讲座心得,学习信息安全心得体会
- JAVA关于Calendar类的使用
- 造成503 service unavailable常见的原因以及解决方法
- 163 VIP邮箱如何群发邮件?注册电子邮箱哪家发信效果好?
热门文章
- 浙江大学计算机科学与技术学院分数线,浙江大学录取分数线一般在多少 高考最低多少分能上浙大...
- 10无法更新系统_华为EMUI系统或停留安卓11,无法更新
- 一个特殊的内码转换处理对于XML格式的UTF-8
- (软件工程复习核心重点)第八章面向对象方法学-第三节:面向对象建模之对象模型
- python引入导入自定义模块和外部文件
- DHAT:动态堆分析工具
- Java Collections工具类
- LeetCode 221 最大正方形
- ‘ascii‘ codec can‘t encode characters in position
- shell 字符串删除特定字符