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

RT-Thread+STM32L475VET6——ADC采集电压


文章目录

  • 前言
  • 一、板载资源
  • 二、具体步骤
    • 1.打开CubeMX进行配置
      • 1.1 使用外部高速时钟,并修改时钟树
      • 1.2 打开ADC1的通道3,并配置为连续采集模式(ADC根据自己需求调整)
      • 1.3 打开串口
      • 1.4 生成工程
    • 2. 配置ADC
      • 2.1 打开ADC驱动
      • 2.2 声明ADC
      • 2.3 剪切stm32l4xx_hal_msp.c中的HAL_ADC_MspInit函数至board.c
      • 2.4 使能ADC(一般默认打开)
    • 3. 打开libc
    • 4.编译,烧录


前言

本文采用开发板为STM32L475VET6(潘多拉开发板),使用RT_Thread Studio基于芯片开发模式,完成ADC实验,实现对板载3.3v和GND电压采集


一、板载资源

使用引出I/O口PC2,对应ADC1的通道一

在这里插入图片描述

二、具体步骤

1.打开CubeMX进行配置

1.1 使用外部高速时钟,并修改时钟树

在这里插入图片描述在这里插入图片描述

1.2 打开ADC1的通道3,并配置为连续采集模式(ADC根据自己需求调整)

在这里插入图片描述

1.3 打开串口

在这里插入图片描述

1.4 生成工程

在这里插入图片描述

2. 配置ADC

官方配置步骤
在这里插入图片描述

2.1 打开ADC驱动

在RT-Thread Setting的组件栏中
在这里插入图片描述

2.2 声明ADC

在这里插入图片描述

2.3 剪切stm32l4xx_hal_msp.c中的HAL_ADC_MspInit函数至board.c

在这里插入图片描述

2.4 使能ADC(一般默认打开)

在这里插入图片描述

3. 打开libc

在这里插入图片描述

4.编译,烧录

将PC2连接至开发板3.3V的I/O口

#include <rtthread.h>#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>/** 程序清单: ADC 设备使用例程* 例程导出了 adc_sample 命令到控制终端* 命令调用格式:adc_sample* 程序功能:通过 ADC 设备采样电压值并转换为数值。*           示例代码参考电压为3.3V,转换位数为12位。
*/#include <rtthread.h>
#include <rtdevice.h>#define ADC_DEV_NAME        "adc1"      /* ADC 设备名称 */
#define ADC_DEV_CHANNEL     3           /* ADC 通道 */
#define REFER_VOLTAGE       330         /* 参考电压 3.3V,数据精度乘以100保留2位小数*/
#define CONVERT_BITS        (1 << 12)   /* 转换位数为12位 */static int adc_vol_sample(int argc, char *argv[])
{rt_adc_device_t adc_dev;rt_uint32_t value, vol;rt_err_t ret = RT_EOK;/* 查找设备 */adc_dev = (rt_adc_device_t)rt_device_find(ADC_DEV_NAME);if (adc_dev == RT_NULL){rt_kprintf("adc sample run failed! can't find %s device!\n", ADC_DEV_NAME);return RT_ERROR;}/* 使能设备 */ret = rt_adc_enable(adc_dev, ADC_DEV_CHANNEL);/* 读取采样值 */value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL);rt_kprintf("the value is :%d \n", value);/* 转换为对应电压值 */vol = value * REFER_VOLTAGE / CONVERT_BITS;rt_kprintf("the voltage is :%d.%02d \n", vol / 100, vol % 100);/* 关闭通道 */ret = rt_adc_disable(adc_dev, ADC_DEV_CHANNEL);return ret;
}
/* 导出到 msh 命令列表中 */
MSH_CMD_EXPORT(adc_vol_sample, adc voltage convert sample);int main(void)
{return RT_EOK;
}

在这里插入图片描述


相关文章:

RT-Thread+STM32L475VET6——ADC采集电压

文章目录 前言一、板载资源二、具体步骤1.打开CubeMX进行配置1.1 使用外部高速时钟&#xff0c;并修改时钟树1.2 打开ADC1的通道3&#xff0c;并配置为连续采集模式(ADC根据自己需求调整&#xff09;1.3 打开串口1.4 生成工程 2. 配置ADC2.1 打开ADC驱动2.2 声明ADC2.3 剪切stm…...

easyexcel 2.2.6版本导出excel模板时,标题带下拉框及其下拉值过多不显示问题

需求背景&#xff1a;有一个需求要做下拉框的值有100多条&#xff0c;同时这个excel是一个多sheet的导入模板 直接用easyexcel 导出&#xff0c;会出现下拉框的值过多&#xff0c;导致生成出来的excel模板无法正常展示下拉功能 使用的easyexcel版本&#xff1a;<depende…...

树(数据结构·)

树&#xff08;数据结构篇&#xff09; 里面没有结点时&#xff0c;称之为空树 树型结构是一对多的形式 ​ ​ ​ ​ ​ ​ 深度优先遍历&#xff1a; 所谓的DFS&#xff0c;也就是说每次都尝试向更深的节点走&#xff0c;也就是一条路走到黑 当一条路走完&#xff0c;走到…...

XUnity.AutoTranslator-deepseek——调用腾讯的DeepSeek V3 API,实现Unity游戏中日文文本的自动翻译

XUnity.AutoTranslator-deepseek 本项目通过调用腾讯的DeepSeek V3 API&#xff0c;实现Unity游戏中日文文本的自动翻译。 准备工作 1. 获取API密钥 访问腾讯云API控制台申请DeepSeek的API密钥&#xff08;限时免费&#xff09;。也可以使用其他平台提供的DeepSeek API。 …...

谈谈 ES 6.8 到 7.10 的功能变迁(1)- 性能优化篇

前言 ES 7.10 可能是现在比较常见的 ES 版本。但是对于一些相迭代比较慢的早期业务系统来说&#xff0c;ES 6.8 是一个名副其实的“钉子户”。 借着工作内升级调研的任务东风&#xff0c;我整理从 ES 6.8 到 ES 7.10 ELastic 重点列出的新增功能和优化内容。将分为 6 个篇幅给…...

[250222] Kimi Latest 模型发布:尝鲜最新特性与追求稳定性的平衡 | SQLPage v0.33 发布

目录 Kimi Latest 模型发布&#xff1a;尝鲜最新特性与追求稳定性的平衡SQLPage v0.33 发布&#xff1a;使用 SQL 构建自定义 UI 和 API&#xff01; Kimi Latest 模型发布&#xff1a;尝鲜最新特性与追求稳定性的平衡 Kimi 开放平台推出全新模型 kimi-latest&#xff0c;旨在…...

深入理解设计模式之解释器模式

深入理解设计模式之解释器模式 在软件开发的复杂世界中,我们常常会遇到需要处理特定领域语言的情况。比如在开发一个计算器程序时,需要解析和计算数学表达式;在实现正则表达式功能时,要解析用户输入的正则表达式来匹配文本。这些场景都涉及到对特定语言的解释和执行,而解…...

深入理解设计模式之代理模式

深入理解设计模式之代理模式 在软件开发的复杂体系中&#xff0c;我们常常会遇到这样的情况&#xff1a;需要控制对某个对象的访问&#xff0c;或者在访问对象前后添加一些额外的处理逻辑&#xff0c;又或者希望在不改变原对象代码的基础上扩展其功能。代理模式&#xff08;Pr…...

Golang | 每日一练 (3)

&#x1f4a2;欢迎来到张胤尘的技术站 &#x1f4a5;技术如江河&#xff0c;汇聚众志成。代码似星辰&#xff0c;照亮行征程。开源精神长&#xff0c;传承永不忘。携手共前行&#xff0c;未来更辉煌&#x1f4a5; 文章目录 Golang | 每日一练 (3)题目参考答案map 实现原理hmapb…...

企业数据集成:实现高效调拨出库自动化

调拨出库对接调出单-v&#xff1a;旺店通企业奇门数据集成到用友BIP 在企业信息化管理中&#xff0c;数据的高效流转和准确对接是实现业务流程自动化的关键。本文将分享一个实际案例&#xff0c;展示如何通过轻易云数据集成平台&#xff0c;将旺店通企业奇门的数据无缝集成到用…...

提效10倍:基于Paimon+Dolphin湖仓一体新架构在阿里妈妈品牌业务探索实践

1. 业务背景 阿里妈妈品牌广告数据包括投放引擎、下发、曝光、点击等日志&#xff0c;面向运筹调控、算法特征、分析报表、诊断监控等应用场景&#xff0c;进行了品牌数仓能力建设。随着业务发展&#xff0c;基于Lambda架构的数仓开发模式&#xff0c;缺陷日益突出&#xff1a;…...

Deepseek快速做PPT

背景: DeepSeek大纲生成 → Kimi结构化排版 → 数据审查,细节调整 DeepSeek 拥有深度思考能力,擅长逻辑构建与内容生成,它会根据我们的问题进行思考,其深度思考能力当前测试下来,不愧为国内No.1,而且还会把中间的思考过程展示出来,大多时候会给出很多我们意想不到的思…...

论文解读 | AAAI'25 Cobra:多模态扩展的大型语言模型,以实现高效推理

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; 点击 阅读原文 观看作者讲解回放&#xff01; 个人信息 作者&#xff1a;赵晗&#xff0c;浙江大学-西湖大学联合培养博士生 内容简介 近年来&#xff0c;在各个领域应用多模态大语言模型&#xff08;MLLMs&…...

uniapp修改picker-view样式

解决问题&#xff1a; 1.选中文案样式&#xff0c;比如字体颜色 2.修改分割线颜色 3.多列时&#xff0c;修改两边间距让其平分 展示效果&#xff1a; 代码如下 <template><u-popup :show"showPicker" :safeAreaInsetBottom"false" close&quo…...

HDFS Java 客户端 API

一、基本调用 Configuration 配置对象类&#xff0c;用于加载或设置参数属性 FileSystem 文件系统对象基类。针对不同文件系统有不同具体实现。该类封装了文件系统的相关操作方法。 1. maven依赖pom.xml文件 <dependency><groupId>org.apache.hadoop</groupId&g…...

【华三】STP的角色选举(一文讲透)

【华三】STP的角色选举 一、引言二、STP基础概念扫盲三、根桥选举过程详解四、根端口选举过程详解五、指定端口选举过程详解六、阻塞端口七、总结与配置建议七、附录**1. BPDU字段结构图&#xff08;文字描述&#xff09;****2. 华三STP常用命令速查表** 文章总结 一、引言 在…...

【C#零基础从入门到精通】(二十六)——C#三大特征-多态详解

【C#零基础从入门到精通】(二十六)——C#三大特征-多态详解 在 C# 中,多态是面向对象编程的重要特性之一,它允许不同的对象对同一消息做出不同的响应。多态可以分为静态多态和动态多态,下面将详细介绍它们以及各自包含的知识点。 多态概述 多态性使得代码更加灵活、可扩展…...

宇树科技13家核心零部件供应商梳理!

2025年2月6日&#xff0c;摩根士丹利&#xff08;Morgan Stanley&#xff09;发布最新人形机器人研报&#xff1a;Humanoid 100: Mapping the Humanoid Robot Value Chain&#xff08;人形机器人100&#xff1a;全球人形机器人产业链梳理&#xff09;。 Humanoid 100清单清单中…...

Java集合框架全解析:从LinkedHashMap到TreeMap与HashSet面试题实战

一、LinkedHashMap ①LinkedHashMap集合和HashMap集合的用法完全相同。 ②不过LinkedHashMap可以保证插入顺序。 ③LinkedHashMap集合因为可以保证插入顺序&#xff0c;因此效率比HashMap低一些。 ④LinkedHashMap是如何保证插入顺序的&#xff1f; 底层采用了双向链表来记…...

goland无法debug项目

1、其实个原因是因为正在使用的Delve调试器版本太旧&#xff0c;无法兼容当前的Go语言版本1.2。Delve是Go语言的一个调试工具&#xff0c;用于提供源码级别的调试功能。Go语言每隔一段时间会发布新版本&#xff0c;而相应的调试器Delve也可能会更新以提供新的特性或修复已知问题…...

NVIDIA DGX GH200超级计算机架构与性能解析

1. NVIDIA DGX GH200 超级计算机架构解析在2023年台北国际电脑展上&#xff0c;NVIDIA发布了革命性的DGX GH200超级计算机系统&#xff0c;这是首个突破100TB GPU内存壁垒的计算平台。作为一名长期跟踪GPU计算架构演进的从业者&#xff0c;我认为这一创新将彻底改变超大规模AI模…...

Ai2Psd终极指南:彻底解决Illustrator到Photoshop无损转换难题

Ai2Psd终极指南&#xff1a;彻底解决Illustrator到Photoshop无损转换难题 【免费下载链接】ai-to-psd A script for prepare export of vector objects from Adobe Illustrator to Photoshop 项目地址: https://gitcode.com/gh_mirrors/ai/ai-to-psd 你是否曾为Illustra…...

别再只盯着Datasheet了!NS4225 D类音频功放外围电路设计避坑指南(附完整原理图与PCB文件)

NS4225 D类功放实战设计&#xff1a;从数据手册到稳定输出的全流程解析 在硬件设计领域&#xff0c;D类音频功放以其高效率、小体积的优势逐渐成为音频系统的首选方案。NS4225作为一款集成式D类功放芯片&#xff0c;数据手册上简洁的典型应用电路往往让工程师产生"照搬就能…...

【会议征稿通知 | 台州学院主办 | IET出版 | EI 、Scopus稳定检索】第二届新能源与电力电网国际学术会议(NEPG 2026)

第二届新能源与电力电网国际学术会议&#xff08;NEPG 2026&#xff09; 2026 2nd International Conference on New Energy and Power Grid 2026年5月29-31日 | 中国台州 大会官网&#xff1a;www.ic-nepg.org 截稿时间&#xff1a;见官网&#xff08;早投稿&#xff0c;早…...

用MPX4115气压传感器和51单片机做个简易气压计(附完整代码与电路图)

从零构建基于MPX4115的智能气压监测系统&#xff1a;硬件连接、代码解析与实战调试 气压监测在气象观测、无人机高度控制、工业设备监控等领域有着广泛应用。今天我们将使用经典的51单片机&#xff08;以STC89C52为例&#xff09;和MPX4115气压传感器&#xff0c;打造一个具备实…...

如何免费实现OBS多平台同步直播:obs-multi-rtmp完整指南

如何免费实现OBS多平台同步直播&#xff1a;obs-multi-rtmp完整指南 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp 还在为每次直播只能选择一个平台而烦恼吗&#xff1f;想同时将精彩内…...

d2dx:三步搞定暗黑2终极宽屏高帧率优化方案

d2dx&#xff1a;三步搞定暗黑2终极宽屏高帧率优化方案 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 还在为经典游戏《暗黑…...

python oauthlib

## 关于 Python OAuthlib 的一些个人理解 如果你在项目中需要处理第三方登录&#xff0c;或者要构建一个需要安全授权机制的 API 服务&#xff0c;那么迟早会碰到 OAuth 2.0 这个协议。而 Python 生态里&#xff0c;oauthlib 是一个绕不开的基础库。它不是那种开箱即用的框架&a…...

告别单调界面:用ESP32和LVGL 8.1的Style背景API打造炫酷UI(附渐变/图片实战代码)

告别单调界面&#xff1a;用ESP32和LVGL 8.1的Style背景API打造炫酷UI&#xff08;附渐变/图片实战代码&#xff09; 你是否厌倦了嵌入式设备上那些千篇一律的灰色矩形和生硬的按钮&#xff1f;在智能家居面板或工业仪表盘项目中&#xff0c;一个精心设计的UI往往能让产品从竞品…...

Z变换与数字滤波器设计:原理与应用

1. Z变换的数学本质与工程意义Z变换作为离散时间信号处理的核心数学工具&#xff0c;其定义式看似简单却蕴含着深刻的工程价值。给定离散时间信号x[n]&#xff0c;其Z变换定义为复平面上的解析函数&#xff1a;$$ X(z) \sum_{n-\infty}^{\infty} x[n]z^{-n} $$这个公式建立了时…...