STM32 ADC转换如何计算

STM32ADC转换之后在ADC_DR上得到转换结果,这个转换结果是什么?该如何计算输入电压?... STM32 ADC转换之后在ADC_DR上得到转换结果,这个转换结果是什么? 该如何计算输入电压? 展开
百度网友90cfdc5
高粉答主

2019-10-23 · 关注我不会让你失望
知道答主
回答量:86
采纳率:100%
帮助的人:1.3万
展开全部

ADC转换时间:

具有以下公式:TCONV=采样时间+12.5个周期

对于12位AD采集,固定为12.5个周期。其他采样时间可以由SMPx[2:0]寄存器控制。每个通道可以单独配置。

000:1.5周期

100:41.5周期

001:7.5周期

101:55.5周期

010:13.5周期

110:71.5周期

011:28.5周期

111:239.5周期

当我们选择1.5个周期。转换时间=1.5+12.5=14个周期。

当时钟配置为12MHz时,转换时间=14/12=1.167us。

扩展资料:

STM32ADC通道序列设置:

1、使用STM32ADC多通道采样时,需要为所使用的每个通道配置相应的转换顺序和采样时间。详细信息如下图所示。

2、参数Rank是通道的采样顺序。关于通道10,将Rank设置为1,以指示ADC操作中第一个采样的通道为ADC10。

3、如果ADC10,ADC11,ADC12和ADC13的通道号设置相同,则DMA输出到存储器的四个通道的值将不确定。

4、分别设置通道的采样顺序后,DMA终端可以准确输出每个通道的采样值。

逝殇曜阳
2013-02-04
知道答主
回答量:8
采纳率:0%
帮助的人:8.5万
展开全部
得到一个二进制数,这个二进制数最大为ADC_DR都为1的时候。此时对应3.3V.所以最后的电压就是ADC_DR的值除以2的16次再乘以3.3
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wolf_lhy
推荐于2017-11-25 · TA获得超过6609个赞
知道大有可为答主
回答量:1090
采纳率:66%
帮助的人:549万
展开全部
你得到的结果是你当前AD引脚上的电压值相对于3.3V和4096转换成的数字.

假如你得到的AD结果是ADC_DR这个变量,他们存在以下关系:

ADC_DR/当前电压值 = 4096/3300毫伏

如果你反过程想得到当前电压值,可以如下计算:
unsigned long Voltage;
Voltage = ADC_DR; //---假设你得到的AD结果存放到ADC_DR这个变量中;

Voltage = (Voltage * 3300)/4096; //----你就得到了正确的电压结果,单位是mV

一般出于效率,我会们自己进行约分:
Voltage = (Voltage * 825)/1024; //----你就得到了正确的电压结果,单位是mV

而再进一步,效率会更高:
Voltage = (Voltage * 825)>>10; //----你就得到了正确的电压结果,单位是mV
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式