| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> STM32学习笔记—ADC -> 正文阅读 |
|
[嵌入式]STM32学习笔记—ADC |
1、adc简介2、函数配置3、代码1、adc简介? 在ADC就是模数转换器,将模拟量转换成数字量,举个例子就是将电压转换位数字量,STM32拥有1-3个ADC(模数转换器),这些ADC可以独立使用,也可以采用双从模式(提高采样频率)STM32的ADC是12位逐次逼近的模拟数字转换器。它的每个adc有18个通道(ADC工作的时候只接一个通道),可以测量16个外部通道和2个内部信号源。各通道的ad可以单次转换、连续转换、扫描模式或者间断模式。这边我需要解释上面的几个模式:首先对于单通道来说,是不存在扫描模式的,这里的单次转换指的是就是你使能一次之后,那么adc本次转换完成之后就停止转换。连续模式是使能一次之后,一次转换结束之后,马上开始下一次转换。对于多通道来说,如果我们选择读取多个通道的值的时候,我们是需要选择扫描模式的,然后在扫描模式下单次转换是指一个通道转换结束之后就开始下一通道的转换,走一圈后停止。连续转换指的是一个通道转换结束之后,马上开始下一通道的转换,走一圈之后不停止,继续下一圈的转换。 在使用ADC的时候有一个东西需要注意,那就是STM32的ADC的最大转换速率为1MHZ,也就是转换时间为1us(在 ADCCLK=14M,采样周期 为 1.5 个 ADC 时钟下得到),不要让 ADC 的时钟超过 14M,否则将导致结果准确度下降。因为ADC1是挂在APB2时钟下面的,APB1的时钟为72MHZ,所以今天我们在选择分频系数的时候要大于5.14,所以今天的实验我们选择的分频系数为6。 在使用ADC的时候,还有一个知识点需要注意,那就是规则通道组和注入通道组。规则通道组相当于是正常执行的程序,注入通道组就相当于是一个中断,注入通道执行完之后才会回到正常程序继续执行。区分这两个分组是为了提高单片机的效率,这和中断的设定是一个道理,为了提高单片机处理事情的速率。 2、函数配置这边主要讲一下ADC的初始化函数和读取ADC的函数 ADC函数的初始化: 1、开启我们的GPIO的时钟和ADC的时钟,这边我们使用的是A1和ADC1,这两个外设都挂在APB2的时钟下面。 2、开启时钟之后,我们需要设置 ADC1的分频系数,按照之前的解释这边选择分频系数为6。 3、初始化我们的IO口,这边选择IO的工作模式为模拟输入。 4、上面设置完成后,需要重初始化ADC1。这边我们调用的是ADC_DeInit(ADC1); 5、对ADC1的工作进行设置 //初始化adc ? ?? 下面说一下我们读取ADC的函数: 1、在读取ADC的值的时候,我们需要设定ADC的规则组通道规则,这边就是之前我说的,这通过调用下面的函数设置,哪个ADC、哪个通道、采样时间 ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 );?? ?//ADC1,ADC通道,设置转换的序列,采样时间为239.5周期 2、然后软件使能我们的ADC开始工作,获取EOC(转换完成标志位)的状态,如果转换完成,我们就获取ADC的值并将这个值返回。 3、然后你可以根据返回的值进行处理。 3、代码
|
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
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年11日历 | -2024/11/26 15:52:09- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |