记录STM32开发中ADC配置代码都正确但一直无法读取的问题

问题背景

前段时间接手了一个新的项目,用来调试的PCB板子是上一批人画的旧版。
项目中间有使用到ADC读取外部电压的部分,当我调试到这一部分的时候发现,无论如何读到的数据都没有变化,并且ADC相关部分的代码检查了多遍也确定是没有错误的。。。

正文

查阅芯片的官方数据手册后,发现有这样一句话:
在这里插入图片描述
再看看我所调试的PCB板子的原理图:
在这里插入图片描述
很明显这里的 VREF+ 和 VREF- 没有连接,正确的原理图:
在这里插入图片描述

解释

MCU电路中,进行A/D或D/A变换时,需要有一个基准参考电压,
这个基准参考电压就是上面提到的VREF+ 和 VREF-,
简单点理解就好像我们说珠穆朗玛峰海拔多少米时,这个海拔实际上就是相对于海平面来说,高于海平面多少米,
而海平面就是一个基准,一个参考值,也就相当于VREF+ 和 VREF-,否则的话就无法确定高低了 。
如果芯片的封装有这两个引脚的话,而你又需要使用A/D或D/A转换功能,那么一定要记得把这两个引脚如上图对应的连接上。

一些名词解析

VCC电路的供电正电压VDDD芯片的工作数字正电压
GND电路的供电负电压VSSD芯片的工作数字负电压
VDD芯片的工作正电压VREF+基准参考正电压
VSS芯片的工作负电压VREF-基准参考负电压
VDDA芯片的工作模拟正电压VBAT电池或其他供电电源
VSSA芯片的工作模拟负电压VEE负电压供电
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值