物联网——模拟与数字转换器(ADC)

2024-09-07 00:04

本文主要是介绍物联网——模拟与数字转换器(ADC),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ADC(常用于信号发生器,音频解码器)

在这里插入图片描述

逐次逼近型ADC

利用逐次逼近寄存器SAR,二分法逼近未知电压,直到外部输入电压与输出电压保持一致:例如0~225V每次去中间值作为判断电压,逐次二分
在这里插入图片描述

stm32的ADC模块

规则通道一次只能选一个数据寄存器,通常搭配DMA使用; 注入通道一次能选4个数据寄存器存相应数值
在这里插入图片描述
在这里插入图片描述

ADC基本结构

在这里插入图片描述

ADC引脚复用

在这里插入图片描述

双ADC模式(同步采样、交叉采样)

ADC12同时复用两个端口
在这里插入图片描述

ADC转换模式

单次转换,非扫描模式
在这里插入图片描述
连续转换,非扫描模式
在这里插入图片描述

单次转换,扫描模式
在这里插入图片描述

连续转换,扫描模式
在这里插入图片描述

触发控制

在这里插入图片描述

数据对齐

在这里插入图片描述

转换时间

在这里插入图片描述

校准

在这里插入图片描述

硬件电路

可调电压、分压电路、电压转换电路:中间电压(3.3V) = VIN / 50K * 33K
在这里插入图片描述

传感器模块

在这里插入图片描述

ADC接线图

在这里插入图片描述

数模转换过程

在这里插入图片描述

通过判断AD值,实现控制

控制开关灯或别的仪器操作
在这里插入图片描述
在这里插入图片描述

问题:采用扫描模式进行AD转换时,为何需要配合DMA使用?

在配置好的通道列表中,只有所有通道转换完成,才会置一次标志位,中间无法得知哪个通道完成了转换,所以要用DMA缓存通道数据

这篇关于物联网——模拟与数字转换器(ADC)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1143492

相关文章

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

java字符串数字补齐位数详解

《java字符串数字补齐位数详解》:本文主要介绍java字符串数字补齐位数,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java字符串数字补齐位数一、使用String.format()方法二、Apache Commons Lang库方法三、Java 11+的St

使用Python和python-pptx构建Markdown到PowerPoint转换器

《使用Python和python-pptx构建Markdown到PowerPoint转换器》在这篇博客中,我们将深入分析一个使用Python开发的应用程序,该程序可以将Markdown文件转换为Pow... 目录引言应用概述代码结构与分析1. 类定义与初始化2. 事件处理3. Markdown 处理4. 转

Python使用DeepSeek进行联网搜索功能详解

《Python使用DeepSeek进行联网搜索功能详解》Python作为一种非常流行的编程语言,结合DeepSeek这一高性能的深度学习工具包,可以方便地处理各种深度学习任务,本文将介绍一下如何使用P... 目录一、环境准备与依赖安装二、DeepSeek简介三、联网搜索与数据集准备四、实践示例:图像分类1.

CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

《CSS模拟html的title属性(鼠标悬浮显示提示文字效果)》:本文主要介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

SpringBoot 自定义消息转换器使用详解

《SpringBoot自定义消息转换器使用详解》本文详细介绍了SpringBoot消息转换器的知识,并通过案例操作演示了如何进行自定义消息转换器的定制开发和使用,感兴趣的朋友一起看看吧... 目录一、前言二、SpringBoot 内容协商介绍2.1 什么是内容协商2.2 内容协商机制深入理解2.2.1 内容

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (