STM32CubeIDE(STM32L432KC片上ADC)

目录

一、概念

二、使用

1、定时器触发模式

1.1 软件配置

1.2 代码编写

2、定时器触发ADC 多通道+DMA

2.1 软件配置

2.2 代码编写

一、概念

1. 类型与精度:STM32L432KC的ADC是一个12位逐次逼近型模拟数字转换器,能够提供高精度的模拟信号测量。其精度通常优于±0.25%。

2. 通道数量:该ADC拥有多个输入通道,允许连接至不同的外部引脚以及一些内部源(如温度传感器、VREFINT等),能够测量16个外部信号源加上2个内部信号源,共计18个通道,这些通道分为规则通道组和注入通道组。

3. 转换速率:STM32L4系列的ADC支持多种采样率设置,可以根据应用需求调整转换速度与功耗之间的平衡。STM32L432KC的ADC支持高达几兆赫兹的采样率,具体取决于系统时钟配置。

4. 灵活的配置:通过STM32CubeMX软件或直接编程,用户可以灵活配置ADC的工作模式,包括但不限于连续转换、扫描模式(多通道连续转换)、单次转换或由事件触发的注入转换等。

5. 低功耗特性:作为STM32L4系列的一员,该ADC设计注重低功耗操作,支持多种电源模式,确保在不同应用场景下都能保持高效的能源利用。

6. 硬件过采样:STM32L432KC的ADC支持硬件过采样功能,可以通过增加采样次数提高有效分辨率,这对于需要高精度测量的应用非常有用。

7. 校准功能:为保证测量精度,该ADC还支持校准功能,用户可以通过相应的校准寄存器进行校正,以补偿由于制造工艺产生的误差。

8、香农采样定理:又称为奈奎斯特-香农采样定理,是信息论、通信工程和信号处理中的一个关键理论。该定理主要由哈里·奈奎斯特(Harry Nyquist)和克劳德·香农(Claude Shannon)分别在1928年和1949年提出和完善,它描述了为了能够从样本中无失真地重构原始连续信号所需的最低采样频率。根据香农采样定理:如果一个信号x(t)是带限的,即它的频谱在|f| > W Hz处为零,则只要采样频率fs大于信号最高频率的两倍,即fs > 2W Hz,就可以从采样值中完全恢复原信号。

二、使用

1、定时器触发模式

1.1 软件配置

①配置ADC通道五触发方式为TIM6溢出触发

②配置TIM6 1s溢出一次

③打开ADC中断,TIM6溢出中断不需要开

1.2 代码编写

①先打开TIM6定时和ADC中断

  HAL_ADC_Start_IT(&hadc1);HAL_TIM_Base_Start(&htim6);while (1){HAL_GPIO_TogglePin(LED3_GPIO_Port, LED3_Pin);HAL_Delay(500);}

②在ADC回调函数中读取ADC采集数据

uint32_t val=0;
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
{if(hadc->Instance ==ADC1){val=HAL_ADC_GetValue(&hadc1);printf("val:%d\r\n",(int)val);}
}

2、定时器触发ADC 多通道+DMA

2.1 软件配置

①开三个通道

②DMA设置,循环转换模式

③ADC配置,其余配置同上定时器触发模式(ADC中断依旧要打开)

2.2 代码编写

①以DMA方式启动ADC,数据存储在buffer中。

	uint32_t len=3;uint32_t buffer[len];HAL_ADC_Start_DMA(&hadc1,buffer,len);HAL_TIM_Base_Start(&htim6);while (1){HAL_GPIO_TogglePin(LED3_GPIO_Port, LED3_Pin);HAL_Delay(500);}

②在回调函数中查看数据

void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
{printf("val: %d,%d,%d \r\n",buffer[0],buffer[1],buffer[2]);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1483642.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

OPC UA边缘计算耦合器BL205工业通信的最佳解决方案

OPC UA耦合器BL205是钡铼技术基于下一代工业互联网技术推出的分布式、可插拔、结构紧凑、可编程的IO系统,可直接接入SCADA、MES、MOM、ERP等IT系统,无缝链接OT与IT层,是工业互联网、工业4.0、智能制造、数字化转型解决方案中IO系统最佳方案。…

go-zero框架入门

go-zero框架环境的安装 goctl 若想用go-zero框架,还需要一些前置条件: 安装goctl go install github.com/zeromicro/go-zero/tools/goctllatest可以使用 goctl 命令查看是否安装成功 成功后安装protoc goctl env check --install --verbose --force…

Django定时任务框架django-apscheduler的使用

1.安装库 pip install django-apscheduler 2.添加 install_app django_apscheduler 3.在app下添加一个task.py文件,用来实现具体的定时任务 task.pydef my_scheduled_job():print("这个任务每3秒执行一次", time.time()) 4.在app下创建一个manag…

【昇思25天学习打卡营第30天 | K近邻算法实现红酒聚类】

K近邻算法实现红酒聚类学习心得 摘要 本文档介绍了使用MindSpore框架实现K近邻(KNN)算法在红酒数据集上的聚类实验。通过实验,深入了解了KNN算法的基本原理、实现步骤以及在实际数据集上的应用效果。 文章大纲 实验目的:了解K…

文件IO(Ubuntu)

文件IO 目的 将数据写入文件中 与标准IO的区别 (为什么要学习文件IO) 标准IO只能操作普通文件和特殊的管道文件 文件IO能操作几乎所有的的文件 缓存区的目的 标准IO有缓存区 文件IO没有缓存区 根据右图描述 标准IO 文件IO buffer缓存区 有缓存区…

读AI新生:破解人机共存密码笔记18读后总结与感想兼导读

1. 基本信息 读AI新生:破解人机共存密码 斯图尔特罗素 著 中信出版社,2020年8月出版 1.1. 读薄率 书籍总字数301千字,笔记总字数44614字。 读薄率44614301000≈14.8% 1.2. 读厚方向 千脑智能 脑机穿越 未来呼啸而来 虚拟人 AI3.0 新机器人 …

VS C#类文件自动生成头部注释

VS C#类文件自动生成头部注释(以VS2019为例) 1、更新位置 E:\VS2019\vs_2019\Common7\IDE\ItemTemplates\CSharp\Code\2052\Class 2、替换Class 原始文件 using System; using System.Collections.Generic; $if$ ($targetframeworkversion$ > 3.5…

【音视频 | HTTP协议】HTTP协议详细介绍(HTTP方法、报文格式、报文头部字段、状态码)

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

怎样在 PostgreSQL 中优化对大表的分区裁剪和索引选择?

🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会!📚领书:PostgreSQL 入门到精通.pdf 文章目录 怎样在 PostgreSQL 中优化对大表的分区裁剪和索引选择一、分区裁剪:精准切割,提…

JVM监控及诊断工具-命令行篇--jinfo命令介绍

JVM监控及诊断工具-命令行篇02-jinfo:实时查看和修改JVM配置参数 一 基本情况二 基本语法2.1查看jinfo -sysprops PIDjinfo -flags PIDjinfo -flag 具体参数 PID 2.2修改 三 拓展java -XX:PrintFlagsInitialjava -XX:PrintFlagsFinaljava -XX:PrintCommandLineFlags…

使用第三方工具连接Redis

Tiny RDM 官网地址:https://redis.tinycraft.cc/zh/ Tiny RDM | Redis桌面管理客户端 (tinycraft.cc) 点击下一步,安装完成 添加redis 后面三个都无需改动 哨兵模式和集群模式如有哨兵或集群节点都需勾选 测试连接 确认后双击187.137进入ui界面

npm安装依赖包报错,npm ERR! code ENOTFOUND

一、报错现象: npm WARN registry Unexpected warning for https://registry.npmjs.org/: Miscellaneous Warning ETIMEDOUT: request to https://registry.npmjs.org/vue failed, reason: connect ETIMEDOUT 104.16.23.35:443 npm WARN registry Using stale data…

ClickHouse 入门(二)【基础SQL操作】

1、ClickHouse 1.1、SQL 操作 这里只介绍一些和我们之前 MySQL 不同的语法; 1.1.1、Update 和 Delete ClickHouse 提供了 Delete 和 Update 的能力,这类操作被称为 Mutation 查询(可变查询),它可以看 做 Alter 的一…

设计分享—国外网站设计赏析

今天还是给大家分享一些国外的网站设计案例~ 蓝蓝设计是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的大数据可视化界面设计、B端界面设计、桌面端界面设计、APP界面设计、图标定制、用户体验设计、交互设计、UI咨询、高端网站设计、平…

安装caffe-CPU版本并进行训练

目录 前言 0、安装Ubuntu 18.04 版本 输入ls没有反应 ubuntu换源 换源出现的问题 1、安装caffe出现E:Unable to locate package caffe-cpu问题 2、把 code 文件夹下载到 ubuntu 3、在本地使用caffe-CPU,并部署数据标注工具 ATool 问题1 问题2 问题3 命令行…

AI智能名片S2B2C商城小程序在社群去中心化管理中的应用与价值深度探索

摘要:随着互联网技术的飞速发展,社群经济作为一种新兴的商业模式,正逐渐成为企业与用户之间建立深度连接、促进商业增长的重要途径。本文深入探讨了AI智能名片S2B2C商城小程序在社群去中心化管理中的应用,通过详细分析社群去中心化…

最新开源的解析效果非常好的PDF解析工具MinerU (pdf2md pdf2json)

毫不夸张的说 PDF解析工具MinerU是照进RAG黑暗中的一道光——这是我对它的评价。我测过太多了文档解析工具! 最近在做文档解析的工作。看了很多的开源的文档解析的工具,版面分析的工具,其中包括paddelpaddel这样30kstar的明星工具。但是效果都…

STM32全栈嵌入式人脸识别考勤系统:融合OpenCV、Qt和SQLite的解决方案

1. 项目概述 本项目旨在设计并实现一个基于STM32的全栈人脸识别考勤系统。该系统结合了嵌入式开发、计算机视觉和数据库技术,实现了自动人脸检测、识别和考勤记录功能。 主要特点: 使用STM32F4系列微控制器作为主控制器采用OpenCV进行人脸检测和识别Qt开发跨平台…

将达梦数据库的JDBC驱动包 DmJdbcDriver18.jar 安装到本地 Maven 仓库

项目打包报错:Failure to find com.dameng:DmJdbcDriver18:jar:8.1.3.12 in http://maven.aliyun.com/nexus/content/groups/public 解决方式如下: 从 https://eco.dameng.com/download/ 中下载 达梦JDBC 驱动包,如下 JDK 1.8 对应的 JDBC…

GPT LangChain experimental agent - allow dangerous code

题意:GPT LangChain 实验性代理 - 允许危险代码 问题背景: Im creating a chatbot in VS Code where it will receive csv file through a prompt on Streamlit interface. However from the moment that file is loaded, it is showing a message with…