基本信息

  • MCU:STM32F105R8T6
  • 库:HAL
  • 平台:MDK
  • 精度:12位

问题一

  • 现象:

    在测量的时候,发现采样值在 1023 ~ 1042 和 1279 ~ 1290 两个区间之间无法测量

  • 原因:

    一开始还以为是我计算方式不对,折腾了很久才发现是采样导致的,发现这个现象后,有两个猜测

    可能一:怀疑是放大电路的问题,出现了这样的死区,导致 MCU 无法测量

    测试方法:用万用表测量放大后的信号是有变化的,并没有这样的死区存在,说明也不是放大电路的问题

    可能二:怀疑是 MCU 的 ADC 通道损坏导致无法采集

    测试方法:使用了多个 MCU 测量也是同样的现象,基本可以排除 MCU 的 ADC 通道损坏的可能,为了排除程序功能之间的影响,使用了单独的 ADC 采样 DEMO 程序测量时,居然没有这样的现象,到这里基本可以确定了是程序的问题,经过对比程序,最后发现是 ADC 时钟没有配置,绝望了。

  • 解决办法:

    只需要配置 ADC 采集通道的时钟即可,程序如下所示:

问题二

  • 现象:

    通过采样值计算出的电压与时间的电压有 40MV 的差距

  • 原因:

    未知

  • 解决办法:

    增加 ADC 通道校准,程序如下

    /* 校准ADC */
    HAL_ADCEx_Calibration_Start();

STM32 ADC使用问题的更多相关文章

  1. STM32 ADC 采样 频率的确定

    一 STM32 ADC 采样频率的确定 1.       : 先看一些资料,确定一下ADC 的时钟: (1),由时钟控制器提供的ADCCLK 时钟和PCLK2(APB2 时钟)同步.CLK 控制器为A ...

  2. 关于STM32 ADC自校准的个人理解

    前几天发过一篇帖子,叫:关于STM32 ADC自校准的个人理解文章大体说的是自校准前要先将ADON位置1,之后再校准. 本以为彻底的了解了自校准的过程,但是昨天晚上无意间看到了一个函数说明,不禁愁云又 ...

  3. Stm32 ADC学习

    stm32 ADC 简介 stm32的ADC是 12位逐次逼近型 模拟数字转换器;它包括18个通道,可以用来测量16个外部通道和2个内部通道.ADC转换的结果存放在16位数据寄存器(ADC规则数据寄存 ...

  4. STM32 ADC多通道转换DMA模式与非DMA模式两种方法(HAL库)

    一.非DMA模式(转) 说明:这个是自己刚做的时候百度出来的,不是我自己做出来的,因为感觉有用就保存下来做学习用,原文链接:https://blog.csdn.net/qq_24815615/arti ...

  5. STM32 ADC多通道规则采样和注入采样

    layout: post tags: [STM32] comments: true 文章目录 layout: post tags: [STM32] comments: true 什么是ADC? STM ...

  6. STM32 ADC 测电压

    1. STM32F103 ADC 本例使用STM32F103芯片的PA1引脚测试模拟输入的电压值. 查看文档<STM32F103X.pdf>第31页,引脚定义图: 得知PA1使用ADC1的 ...

  7. STM32 ADC转换时间

    STM32F103XX的ADC的采样时钟最快14MHz,最快采样率为1MHz. ADC时钟: 这个ADC时钟是从哪来的呢.我们看下面这个STM32的时钟结构图: 我们大多使用STM32的最快PCLK2 ...

  8. stm32 ADC配置

    STM32 的 ADC 是 12 位逐次逼近型的模拟数字转换器,它有 18 个通道,可测量 16 个外部和 2 个内部信号源 各通道的 A/D 转换可以单次.连续.扫描或间断模式执行. ADC 的结果 ...

  9. STM32.ADC

    ADC实验 原理图: 1.ADC配置函数 /* enable adc1 and config adc1 to dma mode */ ADC1_Init(); /** * @brief ADC1初始化 ...

  10. STM32 ADC详细篇(基于HAL库)

    一.基础认识 ADC就是模数转换,即将模拟量转换为数字量 l  分辨率,读出的数据的长度,如8位就是最大值为255的意思,即范围[0,255],12位就是最大值为4096,即范围[0,4096] l  ...

随机推荐

  1. SpringBoot项目 填充Excel模板 导出 下载

    模板 下载后的效果 项目结构 pom <?xml version="1.0" encoding="UTF-8"?> <project xmln ...

  2. vue2中安装vuex

    2022年2月7日,vue3成为默认版本,npm i vue安装的直接就是vue3了 npm i -vuex 安装的是vuex4 vuex4只能在vue3中使用 vue2中,要用vuex3版本,安装 ...

  3. linux 检查是否安装过某软件包

    1.rpm包安装的,可以用 rpm -qa 看到,如果要查找某软件包是否安装,用 rpm -qa | grep "软件或者包的名字" 2.以deb包安装的,可以用 dpkg -l ...

  4. QT实现参数批量配置

    QT实现批量配置 需求 一些参数需要批量化配置 之前搭建的FPGA的寄存器控制模型 使用AXI-lite搭建 直接操作上位机 这里需要一个可以快速配置所有参数的上位机 需要保存文件,可以保留上一次的参 ...

  5. 前端问题整理 Vite+Vue3+Ts 创建项目及配置 持续更新

    前端问题整理 持续更新 目录 前端问题整理 持续更新 前端 Vue 篇 @项目配置 1.node 版本过高问题 安装nvm 管理node版本 2.镜像证书无效问题 3.npm 版本问题 4.npm i ...

  6. #斜率优化,二分#CF631E Product Sum

    题目 有一个数列 \(a\),其权值为 \(\sum_{i=1}^ni*a_i\), 现在可以任意选择其中一个数字扔到任意位置,使权值和最大. \(n\leq 2*10^5,|a_i|\leq 10^ ...

  7. Java中的类型推断和lambda表达式

    目录 简介 类型的显示使用 Stream中的类型推断 类型推断中变量名字的重要性 类型推断对性能的影响 类型推断的限制 总结 简介 java是强类型的编程语言,每个java中使用到的变量都需要定义它的 ...

  8. OpenHarmony Liteos_A内核之iperf3移植心得

    一.iperf3工作原理 iperf3主要的功能是测试基于特定路径的带宽,在客户端和服务器端建立连接(三次握手)后,客户端发送一定大小的数据报并记下发送的时间,或者客户端在一定的时间内发送数据并记下发 ...

  9. 牛蛙!GoFrame2.7正式版的监控组件真是及时雨

    声明:本文首发在同名公众号:王中阳Go,未经授权禁止转载. GoFrame框架今天发布了v2.7.0正式版本啦! 最大看点 本次版本最大的看点是提供了metric监控组件,主库提供了接口化的metri ...

  10. CentOS 6.5 ZIP、RAR文件压缩解压操作详解

    ============zip文件的操作================= zip -r data.zip data 解释:将data文件夹压缩成了data.zip格式.   unzip data.z ...