当前位置: 首页 > news >正文

蓝桥杯嵌入式AD采样解析

文章目录

  • 前言
  • 一、什么是AD采样
  • 二、原理图查看及cubeMX配置
  • 三、代码解析
  • 总结


前言

本文将带大家学习AD采样。

一、什么是AD采样

原理部分这里就不多介绍了,给大家推荐一篇文章大家自己去了解一下即可。
AD采样

二、原理图查看及cubeMX配置

在板子上面有两个可调电位器,分别接到了PB15和PB12,所以我们在配置cubeMX时只需要将这两个引脚配置为ADC的采样通道即可。
在这里插入图片描述
这里的PB15和PB12分别接到了两个不同的ADC上面,具体配置如下。
在这里插入图片描述
下面对ADC的一些设置进行介绍
在这里插入图片描述
Resolution:ADC采样的分辨率这里直接默认选择12位的精度就可以了,如输入电压为0-5V,12位,即0V对应0,5V对应2^12-1=4095,通过这个转换我们就可以算出对应的电压值。
Rank:采样间隔设置我们这里选择默认2.5就行了,间隔越小采样频率越高。
在这里插入图片描述

三、代码解析

开启ADC采样

HAL_ADC_Start(&hadc1);
HAL_ADC_Start(&hadc2);

读取数据

uint16_t adc_val1 = 0;
uint16_t adc_val2 = 0;
adc_val1 = HAL_ADC_GetValue(&hadc1);
adc_val2 = HAL_ADC_GetValue(&hadc2);

转换为电压值

HAL_ADC_Start(&hadc1);
HAL_ADC_Start(&hadc2);
adc_val1 = HAL_ADC_GetValue(&hadc1);
volt1 = adc_val1/4096.0f * 3.3f;

adc_val2 = HAL_ADC_GetValue(&hadc2);
volt2 = adc_val2/4096.0f * 3.3f;

打开监视窗口我们可以看见电压值和采样值在不断的变化中,这就说明了我们的程序是正确的,至于这个监视窗口怎么打开我会单独用一篇文章讲解keil5的debug和各种功能。
在这里插入图片描述

总结

AD采样涉及的函数没有很多,原理和电路图也不难,相信大家很容易就能掌握。

相关文章:

  • 数据结构和算法——基于Java——4.1栈(数组实现栈、链表实现栈)
  • 怎么看网站域名有没有收录 收录情况怎么样 网站收录查询
  • 信号发生器不会用?一篇文章教会你
  • Java+JSP+MySQL基于SSM的医院挂号就诊系统-计算机毕业设计
  • 今年十八,喜欢ctf-web
  • AI加速(九): 深度理解吞吐量和延时
  • java毕业设计的滑雪场学具租赁管理系统mybatis+源码+调试部署+系统+数据库+lw
  • redis5.0集群搭建(两台服务器)
  • [操作系统笔记]基本分页存储管理
  • 容器运行时与k8s概述
  • [ Linux ] Linux信号概述 信号的产生
  • 终极版Facebook广告管理工具新手教程!赶紧收藏!(下篇)
  • 计算机组成原理习题课第四章-2(唐朔飞)
  • Spring Boot 配置多数据源
  • HTML+CSS+JavaScript仿京东购物商城网站 web前端制作服装购物商城 html电商购物网站
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • Lucene解析 - 基本概念
  • React中的“虫洞”——Context
  • Tornado学习笔记(1)
  • uni-app项目数字滚动
  • Web标准制定过程
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 读懂package.json -- 依赖管理
  • 简单实现一个textarea自适应高度
  • 解析 Webpack中import、require、按需加载的执行过程
  • 面试遇到的一些题
  • 目录与文件属性:编写ls
  • 爬虫模拟登陆 SegmentFault
  • 排序算法之--选择排序
  • 手写双向链表LinkedList的几个常用功能
  • 微信小程序--------语音识别(前端自己也能玩)
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • #LLM入门|Prompt#3.3_存储_Memory
  • #NOIP 2014# day.2 T2 寻找道路
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • $L^p$ 调和函数恒为零
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • ()、[]、{}、(())、[[]]命令替换
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (定时器/计数器)中断系统(详解与使用)
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (转)一些感悟
  • .gitignore文件—git忽略文件
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET 服务 ServiceController
  • .Net中的集合
  • .sh 的运行
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • /usr/local/nginx/logs/nginx.pid failed (2: No such file or directory)
  • @media screen 针对不同移动设备
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?