| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> STM32基础11--模数转换(ADC) -> 正文阅读 |
|
[嵌入式]STM32基础11--模数转换(ADC) |
目录 前言
? ? ? ? STM32中有3个最高分辨率为12 位 ADC 是逐次趋近型模数转换器。它具有多达 19 个复用通道,可测量来自 16 个外部?源、两个内部源和 VBAT 通道的信号。这些通道的 A/D 转换可在单次、连续、扫描或不连续?采样模式下进行。ADC 的结果存储在一个左对齐或右对齐的 16 位数据寄存器中。 ? ? ? ?注:虽然有3个ADC,它们的引脚复用的。也就是它们有的IN脚有些是两个ADC或者3个ADC同时拥有的。下图查找ADC可以看到,并没有3*16 = 48个ADC输入引脚。 ? ADC框图????????框图中1部分是模式转换外部控制; ????????框图中2部分是模拟输入通道; ????????框图中3部分是模式转换; ????????框图中4部分是与ADC转换相关的中断。 ADC测量的硬件电路? ? ? ? ADC最高的测量电压为3.3V,不要ADC模拟输入端,不要接入超过3.3V的电压。否则可能会烧坏STM32芯片。 ? ? ? ? PA5(ADC1或者ADC2的模拟通道5)连接到TPAD,上面的电压大概只有3V。 ? ? ? 功能需求? ? ? ? 1)使用ADC1的模拟通道5,轮询的方式测量TPAD上的电压; ? ? ? ? 2)测量的电压值通过串口发送到PC端 STM32CubeMx配置ADC选择ADC与模拟通道 ? ADC参数设置 ? ? 功能代码实现?STM32CubeMx生成初始化代码
? ?自定义变量 ? ??ADC测量代码
? ? ? ? 注: ? ? ? ? 1)该代码中有使用了printf函数,默认STM32是不可以通过printf发送数据到PC端的,需要将printf重定向才可以。如果想实现该功能可以参考 下面这篇文章的最后一部分,实现printf的重定向STM32基础9--串口通信(UART)https://blog.csdn.net/qq_34343637/article/details/124529478 ?????????2)本文例子中没有使用到中断,如果ADC检测完后触发中断,可以重写中断中的回调函数。 ? |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/30 1:24:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |