64脚和小于64脚的STM32进行AD时注意,参照电源处理方法(转)

源:64脚和小于64脚的STM32进行AD时注意,参照电源处理方法

请注意,ADC_IN17上没有内部基准,将其说成基准电压概念不对。

所以横线以下的理解不对,如果将其做为参考,则其电压假定按1.2V计算,实际测量的数字量是1271~1275,按此推算:

1.2/1275=VDD/4095, 所以VDD=3.85V,很明显供电压换算出来的值与实际3.3V不符,所以不有用其做为参考。

实际上,可以通用ADC_IN1采集某参考源的电压,其它通道按此进行比例换算。

----------------------------------------------------------------

ADC_IN17是内部参照电压,不是基准电压;它仅仅相当于一个标准电压参照。

 STM32的内部参照电压VREFINT和ADCx_IN17相连接,它的作用是相当于一个标准电压测量点,内部参照电压VREFINT只能出现在主ADC1中使用。 内部参照电压VREFINT与参考电压不是一回事。ADC的参考电压都是通过Vref+提供的并作为ADC转换器的基准电压。 当我们使用的Vref+是直接取自用VCC电压时,当VCC电压波动比较大时或稳压性能比较差时,可以借用STM32的内部参照电压VREFINT校正测量精度。 以测量1通道的电压值为例,先读出参照电压的ADC测量结果,记为ADre;再读出要测量通道1的ADC转换结果,记为ADch1;则要测量的电压为: Vch1 = VREFINT* (((ADch1*(VREF/4096))/(ADre*(VREF/4096))) 注:VREFINT=1.2V,VREF为参考电压值=3.3V 公式简化: Vch1 = VREFINT*(ADch1/ADre) 这种方法等于变相将内部参照电压VREFINT当成是ADC参考电压,也就是说,此时Vref参考电压的准确度已在此已对结果影响不大了,ADC的转换结果基本由VREFINT的精度决定。 注:一般情况下,这种办法只适合于当Vref+参考电压(其实也就是VCC电压)离散性实在太差的情况下使用。 我们知道,STM32中64脚和小于64脚的型号,Vref+在芯片内部与VCC信号线相连,没有引到片外,这样AD的参考电压就是VCC上的电压,那么我们可以使用一个高精度的外部参照电压,然后用上面的方法,也许可以解决因VCC电源电压精度不高带来的ADC测量不准确的问题。
时间: 2024-10-12 16:31:33

64脚和小于64脚的STM32进行AD时注意,参照电源处理方法(转)的相关文章

以太网帧长度为什么不能小于64字节?

0 引言 以太网帧长度不能小于64字节这个要求很多人都知道,但是要问为什么,应该有些人就答不上来了,用就是了呗~这样不好,我们要知其然还要知其所以然. 咳咳,不装B.其实在下也是最近把<计算机网络>翻出来看,正好看到了,就拿出来记录一波. 问:到底为什么以太网帧长度不能小于64字节呢? 答:为了避免以太网中信号碰撞. 1 何为碰撞检测? 碰撞检测是CSMA/CD(Carrier Sense Multiple Access with Collision Detection)协议的一个要点.这个协

iOS 32位、 64位系统兼容性设置-Xcode创建支持IOS4.3以上版本的应用的方法

方法一: 如果是Xcode 5的话步骤为 点击项目名称->Build Settings->搜索 Architectures 这个里面的原始的值是Standard architectures(armv7,armv7s,arm64) 点击这个值,在下拉列表框中选择 Standard architectures(armv7,armv7s) ,然后保存项目,转到 General里面去就可以看到项目的Target选项里面会从4.3到7.0都有. 如果是Xcode 5.1的话步骤为 点击项目名称->

32位程序注入64位DLL到64位进程

向其它进程注入DLL通常的做法是通过调用CreateRemoteThread这个API在目标进程内创建一个远程线程.用这个线程来调用LoadLibraryA或LoadLibraryW(下文统称LoadLibrary)以实现让目标进程载入指定的DLL文件. 使用CreateRemoteThread创建一个远程线程须要传入一个线程过程函数的地址,而且这个函数地址是须要在目标进程中有效的. 因为LoadLibrary是kernel32.dll的导出函数.所以对于执行在同一个系统上的同为32位的进程或同

Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储

在VS2013中调试Silverlight项目时,提示:无法附加.Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储.请改用64位版本. 解决方法很简单: 把调试按钮的调试程序Internet Explorer改成Internet Explorer2,就可以了.

Win7(64)+eclipse(64)+tomcat7(64)+jdk7(64)开发环境配置

Win7(64) + eclipse(64)+ tomcat7(64)+ jdk7(64)开发环境配置 一直开发都是用myeclipse,这次尝试了一下eclipse,并且开发工具全部采用最新版本,配置的时候出现了各种各样的问题,总算总结出一个标准步骤,和大家分享一下. 一.到官网下载文件,全部选择for window 64位最新版本 二.安装配置 1.安装jdk-7u17-windows-x64,版本:jdk7 for windows 64位,配置环境变量JAVA_HOME,值为jdk安装目录

MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64、MySQL5.7)

MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64.MySQL5.7) 安装包版本 1)     VMawre-workstation版本包 地址: https://my.vmware.com/web/vmware/details?downloadGroup=WKST-1411-WIN&productId=686&rPId=20814 包名:VMware-workstation-full-12.5.7.20721.exe 2)     Windows版本包

STM32处理器AD难度整理

1.STM32的AD变化,任务组可以转换成两组:规则组和注射组.随机序列按随机顺序变换多种渠道构成了一组转换.例如.能够完成转换中,例如按照以下顺序:通道3.通道8.通道2.通道2.通道0.通道2.通道2.通道15.在执行规则通道组扫描转换.换.能够模糊的将注入组的转换理解为AD转换的中断一样,规则通道组的转换是普通转换,然而注入组的转换条件满足的情况下,注入组的转换会打断规则组的转换.假设规则转换已经在执行.为了在注入转换后确保同步,全部的ADC(主和从)的规则转换被停止,并在注入转换结束时同

STM32库函数void USART_SendData的缺陷和解决方法

void USART_SendData()函数在快速发送时存在问题 有丢数据的可能 转自https://blog.csdn.net/qq_27114397/article/details/50601548 STM32库函数void USART_SendData的缺陷和解决方法使用USART_SendData()函数非连续发送单个字符是没有问题的:当连续发送字符时(两个字符间没有延时),就会发现发送缓冲区有溢出现象.若发送的数据量很小时,此时串口发送的只是最后一个字符,当发送数据量大时,就会导致发

【2016新年版】年度精品 XP,32/64位Win7,32/64位Win8,32/64位Win10系统

本系统是10月5日最新完整版本的Windows10 安装版镜像,win10正式版,更新了重要补丁,提升应用加载速度,微软和百度今天宣布达成合作,百度成为win10 Edge浏览器中国默认主页和搜索引擎,系统增加了搜狗输入法,安装过程需要用户手动创建个人账户等步骤,为保证系统的稳定性,win10为未激活版本,如需激活可通过微软官方购买,另外用户可以通过激活工具在线激活. 更新情况:+更新-万能驱动助理至V6.5+更新-虚拟内存智能转移至D盘+更新-winRAR V5.21+更新-我的文档转移至D盘