news 2026/4/20 17:31:53

STM32 CubeIDE 读取模拟信号电压值

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
STM32 CubeIDE 读取模拟信号电压值

ADC模数转换器:把连续的模拟信号(电压、电流、温度、声音等),转成离散的数字信号(二进制代码),是模拟世界与数字系统的桥梁。

平常的电信号分为数字信号和模拟信号,ADC有许多实现模拟数字转换的方法,这里使用的是逐次逼近法。

模拟信号:连续不断变化的电压值。

数字信号: 高/低电平。

逐次逼近法(以STM32F103内的12位二进制ADC为例):

二进制:0000 0000 0000 ---- 1111 1111 1111 转换为10进制

十进制: 0 (0V) ---- 4095 (3.3V)

假设有一个未知模拟电压 Vin,我们要转成数字。
内部有一个 DAC + 比较器:
- DAC:把数字转成模拟电压
- 比较器:Vin > DAC输出?→ 是/否

步骤:从高位到低位,一位一位试,大就留1,小就清0,全部试完,数字就出来了。

1. 先试最高位(bit11)=1
输出电压 → 和 Vin 比
- 若 Vin 更大 → 保留 1
- 若 Vin 更小 → 改为 0
2. 再试下一位(bit10)=1
把上一轮结果 + 这一位 → 再比较
- 大 → 留 1
- 小 → 改 0
3. 依次往下:bit9 → bit8 → bit7 → bit6 → bit5 → bit4 → bit3 → bit2 → bit1 → bit0

12次比较后,12 位数字就确定了。

然后ADC将结果放入数据寄存器,程序就可以从此寄存器取到转换结果并计算得待测电压。

结果 / 4095 * 3.3V = 待测电压

ADC测量电压值(例)

在学习板上有一个蓝色的电位器

其内部结构通过调节输出引脚在电阻上的位置来改变PA5测的电压值

在CubeIDE新建工程在SYS将Debug模式设置为Serial Wire,设置RCC高速外部时钟为晶振,时钟设置HCLK为72MHz将ADC专用的分频器改为/6

在ADC1将通道5启用,将持续转换模式开启

打开串口用于输出ADC测量结果

最后实现结果通过小螺丝刀调节电位器 ADC测量的电压值就会改变。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 12:25:12

【最优无功功率分配】基于改进路径探索算法(PFA)的最优无功功率分配研究【IEEE30、IEEE57、IEEE118、IEEE300节点】附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…

作者头像 李华
网站建设 2026/4/17 12:23:39

flask context (Application/Request)深度详解

1. 他是什么Flask 的上下文可以理解成一套为每个请求单独准备的“工作文件夹”。应用上下文(Application Context) 存放的是整个 Flask 应用的全局配置、日志记录器、扩展实例这类“公共工具”。这些工具本身是全局的,但在处理一个请求时&…

作者头像 李华
网站建设 2026/4/20 14:32:37

【UMEP第12.4期】GQF教程-估算人类活动热通量

目录LQF v.s. GQF12.4.1. 概述(Overview)12.4.1.1. 工作流程概述(Workflow to model QF)12.4.2. 主用户界面(Main user interface)12.4.3. 模型输出(Model outputs)12.4.4. 合成图层…

作者头像 李华
网站建设 2026/4/18 7:03:28

Flask-Mail 深度详解

1. 他是什么 Flask-Mail 是 Flask 框架下的一个扩展工具。你可以把它理解为 Flask 应用里负责发邮件的“专职快递员”——它把 Python 自带的 smtplib 库包装成更顺手的形态,让你不用直接跟底层的 SMTP 协议、socket 连接打交道。就像订外卖时你只需要选菜品填地址&…

作者头像 李华
网站建设 2026/4/18 12:07:17

透明渲染异常解析:Alpha混合避坑指南

你有没有遇到过这种离谱事: 做了个半透明 UI 面板,结果后面的东西“忽明忽暗”,像闹鬼 粒子特效看着像一团灰,颜色不对,还带黑边 一个透明玻璃放在水面前,玻璃和水互相穿插,前后关系乱套 同样的贴图,在 Scene 里看着没问题,到了 Game 里突然变黑 手机上看起来正常,到…

作者头像 李华