STM32 ADC采样不准怎么办

2023-11-16

最近在使用STM32L011的ADC时,发现ADC采样值极其不准确。经过查找资料,和反复测试,总算摸出点门道。

如将VDDA接到VDD,那么电源的波动会极大的影响ADC精度。
不过使用内部参考电压可以计算实际的VDDA电压。
在这里插入图片描述
说明:
VREFINT_CAL:芯片出厂时固化在存储器中的。使用时需要通过软件读取。
VREFINT_DATA:ADC读取VREFINT(内部参考电压通道ch17)得到的值,每次采样序列,将ch17一并采集,用来后续的AD值补偿计算。

如何读取VREFINT_CAL?

首先,找到芯片的datasheet,是所使用的那款芯片的数据手册,因为同一系列的不同芯片,可能存在区别。例如,我需要找到的datasheet标题是这个

在这里插入图片描述

搜索:VREFINT_CAL

在这里插入图片描述
得到VREFINT_CAL的地址后,使用语句

#define VREF_CAL                         *(__IO uint16_t *)(0x1FF80078) 

然后data1 = VREF_CAL;就可以了。

怎样计算得到一个与电源电压无关的绝对精确的AD值?

在这里插入图片描述
使用这个公式就可以了。
说明:
VREFINT_CAL:使用前述的读取语句data1 = VREF_CAL;从芯片存储器中读出;
ADC_DATAx:你需要测量的通道,使用ADC读出;
VREFINT_DATA:前述,内部参考电压通道(ch17)读出的值;
full_SCALE:上面已经解释很好了。取值2^n-1,n是分辨率。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32 ADC采样不准怎么办 的相关文章

  • 如何更改闪存的起始地址?

    我正在使用 STM32F746ZG 和 FreeRTOS Flash的起始地址是0x08000000 但我想把它改成0x08040000 我通过谷歌搜索了这个问题 但没有找到解决方案 我更改了链接器脚本 如下所示 MEMORY RAM xr
  • 134-基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真+源程序...

    资料编号 134 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 ds1302时钟 DHT11温湿度 电机 蜂鸣器 制作一个基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真 2 通过DH
  • rt-thread studio中新建5.02版本报错

    先吐槽一下 rt thread studio出现BUG真多 好多时间都是在找BUG 但里面用好多控件还是挺好用的 真是又爱又恨 所以一般使用功能不多的话还是用keil多一点 创建5 02版本工程之后直接进行编译 直接会报下面这个错误 资源
  • STM32F103

    提示 来源正点原子 参考STM32F103 战舰开发指南V1 3PDF资料 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 开发环境硬件普中科技 接线图在g
  • STM32超声波——HC_SR04

    文章目录 一 超声波图片 二 时序图 三 超声波流程 四 单位换算 五 取余计算 六 换算距离 七 超声波代码 一 超声波图片 测量距离 2cm 400cm 二 时序图 1 以下时序图要先提供一个至少10us的脉冲触发信号 告诉单片机我准备
  • STM32F103概要

    The STM32F103x4 STM32F103x6 STM32F103xC STM32F103xD and STM32F103xE are a drop in replacement for STM32F103x8 B medium d
  • [屏驱相关]【SWM166-SPI-Y1.28C1测评】+ 有点惊艳的开箱

    耳闻华芯微特许久了 看到论坛得评测活动赶紧上了末班车 毕竟对有屏幕得板子也是很喜欢得 京东快递小哥客客气气 微笑着把快递给了我 好评 直接拆了包 在此之前没看过视频号 所以这个圆盘盘得模具还是有点惊喜的 正面照如下 开机有灯光秀 还有动画
  • [MM32硬件]搭建灵动微MM32G0001A6T的简易开发环境

    作为学习单片机的经典 自然是通过GPIO点亮LED 或者是响应按钮的外部中断例程 这我们看看SOP8封装的芯片MM32G0001A6T得引脚 除了VDD和GND固定外 我们可以使用PA14 PA1 PA13 PA15 PA2 PA3这六个G
  • 串口通讯第一次发送数据多了一字节

    先初始化IO再初始化串口 导致第一次发送时 多出一个字节数据 优化方案 先初始化串口再初始化IO 即可正常通讯
  • Freertos低功耗管理

    空闲任务中的低功耗Tickless处理 在整个系统运行得过程中 其中大部分时间都是在执行空闲任务的 空闲任务之所以执行 因为在系统中的其他任务处于阻塞或者被挂起时才会执行 因此可以将空闲任务的执行时间转换成低功耗模式 在其他任务解除阻塞而准
  • 深入浅出《Delta-Sigma Data Converters》(可下载)

    在数字信号处理领域 数据转换器是实现模拟与数字世界之间无缝转换的关键组件 而在这个子领域中 Delta Sigma Data Converter s 一书以其全面和深入的内容 为工程师 学者甚至爱好者们提供了一个极其宝贵的资源 今天将为大家
  • CMSIS & STM32,如何开始? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在 STM32 上使用 CMSIS 启动项目 网上一搜 没找到具体的教程 有些使用 SPL 开始项
  • 库函数点亮Led

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 例如 随着人工智能的不断发展 机器学习这门
  • STM32H5 Nucleo-144 board开箱

    文章目录 开发板资料下载 目标 点亮LD1 绿 LD2 黄 和LD3 红 三个LED灯 开箱过程 博主使用的是STM32CubeMX配置生成代码 具体操作如下 打开STM32CubeMX File gt New project 选择开发板型
  • 特殊寄存器

    特殊寄存器 文章目录 前言 一 背景 二 2 1 2 2 总结 前言 前期疑问 STM32特殊寄存器到底是什么 特殊寄存器怎么查看和调试代码 本文目标 记录和理解特殊寄存器 一 背景 最近在看ucosIII文章是 里面提到特殊寄存器 这就进
  • systick定时器

    systick定时器 文章目录 前言 一 前期疑惑 二 解答 1 关于systick是阻塞的吗 2 非阻塞 三 软件编写 总结 前言 这边记录systick相关知识点 一 前期疑惑 在学习systick志气啊 其实对于systick还是一脸
  • Cortex-M3与M4权威指南

    处理器类型 所有的ARM Cortex M 处理器是32位的精简指令集处理器 它们有 32位寄存器 32位内部数据路径 32位总线接口 除了32位数据 Cortex M处理器也可以有效地处理器8位和16位数据以及支持许多涉及64位数据的操作
  • 通过JTAG恢复STM32 MCU磨掉的标记

    我有一块可能带有 STM32 MCU 的板 我想为该板制作定制固件 因为库存板有很多问题 不幸的是 电路板制造商很友善地磨掉了所有标记 有没有办法通过 jtag 获取设备 系列 ID 并将其交叉引用到型号 我能找到的一切都是关于获取芯片的唯
  • STM32 传输结束时,循环 DMA 外设到存储器的行为如何?

    我想问一下 在以下情况下 STM32 中的 DMA SPI rx 会如何表现 我有一个指定的 例如 96 字节数组 名为 A 用于存储从 SPI 接收到的数据 我打开循环 SPI DMA 它对每个字节进行操作 配置为 96 字节 是否有可能
  • stm32l0: 执行MI命令失败。使用 vFlashErase 数据包擦除闪存时出错

    我正在使用 Nucleo STM32L031 和 AC6 STM32 工作台 eclipse 我编写应用程序并进入调试模式 一切正常 直到我在应用程序中添加另一个功能 我注意到当我删除 评论 新函数 软件可以再次进入调试模式 但是当我添加

随机推荐

  • Dell服务器IDRAC管理界面配置NTP时间同步

    登录idrac管理界面 1 点击 iDRAC设置 2 在属性里面点击 设置 3 时区和NTP 4 在NTP1这项填写NTP的服务器地址5 右下角点击 应用 过几分钟就生效了
  • 回归指令_SWAP字节交换指令详解

    说明 本篇文章是为下一篇文章 在触摸屏上演示7段数码管指令而预先讲解的一个指令 正文 字节交换指令应该算一个比较重要的指令 特别PLC要和一些HMI设备通讯 在HMI上录入数据的时候 就有可能需要经常使用这个指令 来看一下西门子200PLC
  • 基于二叉树的算术表达式计算与实现

    非常有趣的一道题 代码参考 https blog csdn net over786 article details 17395567 把一个正常的表达式写成这个样子咯 问题的难点在于整数有多位 而且你要判断好哪个符号作为根 比如5 3 4
  • 华为OD机试 Python 限载货物数最小值

    描述 在火车站旁的货运站 小明负责调度2K辆中转车 其中K辆用于干货 K辆用于湿货 每批到站的货物来自不同的供货商 需要按照顺序装入中转车 注意 一个供货商的货物只能装在一辆车上 不能分开 但是 一辆车可以放多个供货商的货物 问题是 要让所
  • 检测洛达芯片的软件_洛达1562A与1536u与杰里有哪些区别?购买前10条须知

    相信大家应该对AirPodspro已经不陌生了 那么对于廉价版本的华强北AirPodspro有多少了解呢 芯片 洛达 中科蓝讯 杰里 恒炫 惴昱 等等 壳料 彩创壳 原厂彩创壳 资江壳 高美特壳料等等 喇叭也有好多种喇叭 至于大家为什么在各
  • (牛客网)华为机试(二)

    牛客网 华为机试题集解答 在解题前先分享一波oj刷题的固定格式代码 方便输入时使用 import java util import java io public class Main 一定要使用Main作为类名 public static
  • CODIS原理 之 数据迁移流程[2.X]

    CODIS原理 之 数据迁移流程 2 X 分类 源码剖析设计思路 1173 0 作者 邹祁峰 邮箱 Qifeng zou job hotmail com 博客 http blog csdn net qifengzou 日期 2016 08
  • 云安全架构的设计

    公有云安全概述 云安全职责划分 共同担责 软件即服务SAAS 云服务厂家几乎负责所有的安全性 因为租户只能访问 管理和使用其提供的应用程序 但无法对应用程序做破坏性操作 例如 SAAS服务厂家提供安全 日志 运维 审计 应用安全性检测等 二
  • 物联网开发124 - Micropython ESP32 C3连接AHT20温湿度传感器和BMP280压力传感器模块

    一 目的 这一节我们来学习如何使用合宙ESP32 C3 连接AHT20温湿传感器模块和BMP280压力传感器模块 使用ST7735屏幕进行显示 下面我们一起来学习一下吧 二 环境 ESP32 C3开发板 MicroPython v1 19
  • Android attr6,android – 未找到样式属性attr / colorSecondary

    我无法建立我的项目 它显示我attr colorSecondary未找到错误 看看我的风格和清单 请告诉我什么是错的 Android studio version 3 0 canary 9 compileSdkVersion 25 buil
  • 【C/C++】类型转换

    文章目录 1 C语言中的类型转换 1 1隐士类型转换 相近类型 意义相近 1 2 强制类型转换 2 C 的类型转换 2 1相近类型转换 static cast 2 2强制类型转换 reinterpret cast 2 3去掉对象const属
  • pytorch用于多标签分类的bceloss

    def bceloss output target positive prob F logsigmoid output negative prob F logsigmoid output loss positive prob target
  • sklearn机器学习——逻辑回归(一)

    1 概述 1 1 名为 回归 的分类器 x为特征向量 通过函数 线性回归使用输入的特征矩阵X来输出一组连续型的标签值y pred 以完成各种预测连续型变量的任务 比如预测产品销量 预测股价等等 那如果我们的标签是离散型变量 尤其是 如果是满
  • Java常用集合分析

    ArrayList与Vector 动态数组 速度较慢 创建时可以使用initialCapacity指定初始化大小 如果不指定则数组大小默认为10 ArrayList与Vector的区别 ArrayList是线程不安全的 当多个线程访问同一个
  • matlab调整图像大小123开始—放缩比例

    imresize 调整图像大小 此 MATLAB 函数 返回图像 B 它是将 A 的长宽大小缩放 scale 倍之后的图像 输入图像 A 可以是灰度 RGB 或二值图像 如果 A 有两个以上维度 则 imresize 只调整前两个维度的大小
  • 【gitlab wiki】git首次上传本地文档操作步骤

    1 在gitLab中创建一个项目 2 进入本地电脑中的你要上传文件的文件目录 右击鼠标选择 Git Bash Here git命令窗口 本机电脑要安装好git 3 在远程git项目中 复制出项目http地址 4 在 Git Bash Her
  • OBJECT和EMBED标签

    OBJECT和EMBED标签 一 介绍 我们要在网页中正常显示flash内容 那么页面中必须要有指定flash路径的标 签 也就是OBJECT和EMBED标签 OBJECT标签是用于windows平台的IE浏览器的 而EMBED是用于win
  • 微信可以远程控制电脑吗_教你远程控制你的电脑

    众所周知啊 上班最尴尬的就是 你办公室的电脑还开着 可是人没了 老板看见你的电脑屏幕 打开的不是办公软件 而是游戏 电影网站 特意找了一个微信小程序能够帮你远程控制电脑锁屏 关机 甚至还能帮你操控电脑 打开关闭微信 以及各种程序 这款软件只
  • mysql 无法插入中文

    MySQL数据库默认编码已经是utf8了 default character set utf8 可是向数据库中表中插入中文时 却老是出现 xB5 xA5 xD1 xA1 for column 这样的错误 经过查阅网上类型的错误后 发现一个很
  • STM32 ADC采样不准怎么办

    最近在使用STM32L011的ADC时 发现ADC采样值极其不准确 经过查找资料 和反复测试 总算摸出点门道 如将VDDA接到VDD 那么电源的波动会极大的影响ADC精度 不过使用内部参考电压可以计算实际的VDDA电压 说明 VREFINT