STM32 ADC库函数

单片机学习!


目录

1. RCC_ADCCLKConfig 函数

2. ADC_DeInit 函数

3. ADC_Init 函数

4. ADC_StructInit 函数

5. ADC_Cmd 函数

6. ADC_DMACmd 函数

7. ADC_ITConfig 函数

8. 用于校准的函数

8.1 ADC_ResetCalibration 函数

8.2 ADC_GetResetCalibrationStatus 函数

8.3 ADC_StartCalibration 函数

8.4 ADC_GetCalibrationStatus 函数

9. ADC_SoftwareStartConvCmd 函数

10. ADC_GetSoftwareStartConvStatus 函数

11. ADC_GetFlagStatus 函数

12. 配置间断模式的函数

12.1 ADC_DiscModeChannelCountConfig 函数

12.2 ADC_DiscModeCmd 函数

13. ADC_RegularChannelConfig 函数

14. ADC_ExternalTrigConvCmd 函数

15. ADC_GetConversionValue 函数

16. 对模拟看门狗进行配置的函数

16.1 ADC_AnalogWatchdogCmd 函数

16.2 ADC_AnalogWatchdogThresholdsConfig 函数

16.3 ADC_AnalogWatchdogSingleChannelConfig 函数

17. ADC_TempSensorVrefintCmd 函数

18. 获取/清除

18.1 ADC_GetFlagStatus 函数

18.2 ADC_ClearFlag 函数

18.3 ADC_GetITStatus 函数

18.4 ADC_ClearITPendingBit 函数


1. RCC_ADCCLKConfig 函数

        函数用来配置ADCCLK分频器的,可以对APB2的72MHz时钟选择2、4、6、8分频,输入到ADCCLK.

2. ADC_DeInit 函数

        函数用于恢复缺省配置。

3. ADC_Init 函数

        函数用于ADC初始化。

ADC_Mode 设置 ADC 工作在独立或者双 ADC 模式。

ADC_ScanConvMode 规定了模数转换工作在扫描模式(多通道)还是单次(单通道)模式。可以设置这个参数为 ENABLE 或者 DISABLE

ADC_ContinuousConvMode 规定了模数转换工作在连续还是单次模式。可以设置这个参数为 ENABLE 或者 DISABLE

ADC_ExternalTrigConv定义了使用外部触发来启动规则通道的模数转换。

ADC_DataAlign 规定了 ADC 数据向左边对齐还是向右边对齐。

ADC_NbrOfChannel 规定了顺序进行规则转换的 ADC 通道的数目。这个数目的取值范围是 1 16

:为了能够正确地配置每一个 ADC 通道,用户在调用 ADC_Init()之后,必须调用ADC_ChannelConfig函数来配置每个所使用通道的转换次序和采样时间。

4. ADC_StructInit 函数

        结构体初始化。

5. ADC_Cmd 函数

        用于给ADC上电的,也就是ADC的开关控制。


6. ADC_DMACmd 函数

        用于开启DMA输出信号的。如果使用DMA转运数据,就需要调用这个函数。


7. ADC_ITConfig 函数

        中断输出控制。

ADC_IT 可以用来使能或者失能 ADC 中断。

8. 用于校准的函数

        在ADC初始化完成之后,依次调用就行了。

8.1 ADC_ResetCalibration 函数

        复位校准。

8.2 ADC_GetResetCalibrationStatus 函数

        获取复位校准状态。

8.3 ADC_StartCalibration 函数

        开始校准。

8.4 ADC_GetCalibrationStatus 函数

        获取开始校准状态

函数代码:

/*** @brief  Gets the selected ADC calibration status.* @param  ADCx: where x can be 1, 2 or 3 to select the ADC peripheral.* @retval The new state of ADC calibration (SET or RESET).*/
FlagStatus ADC_GetCalibrationStatus(ADC_TypeDef* ADCx)
{FlagStatus bitstatus = RESET;/* Check the parameters */assert_param(IS_ADC_ALL_PERIPH(ADCx));/* Check the status of CAL bit */if ((ADCx->CR2 & CR2_CAL_Set) != (uint32_t)RESET){/* CAL bit is set: calibration on going */bitstatus = SET;}else{/* CAL bit is reset: end of calibration */bitstatus = RESET;}/* Return the CAL bit status */return  bitstatus;
}

9. ADC_SoftwareStartConvCmd 函数

        ADC软件开始转换控制函数用于软件触发的函数,调用一下就能软件触发转换了。

10. ADC_GetSoftwareStartConvStatus 函数

        ADC获取软件开始转换状态,调用这个函数不可以判断转换是否已经结束。

        这个函数是用来获取CR2的SWSTART这一位的,对照芯片手册寄存器查找,CR2的SWSTART这一位作用是:开始转换规则通道,由软件设置该位以启动转换,转换开始后硬件马上清除此位。以此分析,这个函数就是给SWSTART位置1,以开始转换的。这个函数是返回SWSTART的状态,由于SWSTART位在转换后立刻就清零了,所以这个函数的返回值跟转换是否结束毫无关系。

11. ADC_GetFlagStatus 函数

        用于知道ADC转换是否结束。

        获取标志位状态,参数给EOC的标志位,判断EOC标志位是不是置1了。如果转换结束,EOC标志位置1,然后调用这个函数,判断标志位,这样就可以正确的判断转换是否结束。

12. 配置间断模式的函数

12.1 ADC_DiscModeChannelCountConfig 函数

        函数用于设置每隔几个通道间断一次。

12.2 ADC_DiscModeCmd 函数

        函数用于设置是否启用间断模式。

13. ADC_RegularChannelConfig 函数

        ADC规则组通道配置,函数用于给序列的每个位置填写指定的通道。也就是填写点菜菜单的过程。

  • 第一个参数:ADCx,指定ADC通道
  • 第二个参数:ADC_Channel,需要指定的通道
  • 第三个参数:Rank,序列几的位置
  • 第四个参数:ADC_SampleTime,指定通道的采样时间

ADC_Channel 指定了通过调用函数 ADC_RegularChannelConfig 来设置的 ADC 通道。

ADC_SampleTime 设定了选中通道的 ADC 采样时间。

14. ADC_ExternalTrigConvCmd 函数

        ADC外部触发转换控制,函数用于是否允许外部触发转换。

函数代码:

/*** @brief  Enables or disables the ADCx conversion through external trigger.* @param  ADCx: where x can be 1, 2 or 3 to select the ADC peripheral.* @param  NewState: new state of the selected ADC external trigger start of conversion.*   This parameter can be: ENABLE or DISABLE.* @retval None*/
void ADC_ExternalTrigConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState)
{/* Check the parameters */assert_param(IS_ADC_ALL_PERIPH(ADCx));assert_param(IS_FUNCTIONAL_STATE(NewState));if (NewState != DISABLE){/* Enable the selected ADC conversion on external event */ADCx->CR2 |= CR2_EXTTRIG_Set;}else{/* Disable the selected ADC conversion on external event */ADCx->CR2 &= CR2_EXTTRIG_Reset;}
}

15. ADC_GetConversionValue 函数

        ADC获取转换值,获取AD转换的数据寄存器,读取转换结果就要使用这个函数。

16. 对模拟看门狗进行配置的函数

16.1 ADC_AnalogWatchdogCmd 函数

        是否启动模拟看门狗。

ADC_AnalogWatchdog 规定了 ADC 模拟看门狗的设置。

16.2 ADC_AnalogWatchdogThresholdsConfig 函数

        配置高低阈值。

16.3 ADC_AnalogWatchdogSingleChannelConfig 函数

        配置看门的通道。

17. ADC_TempSensorVrefintCmd 函数

        ADC温度传感器、内部参考电压控制。这个函数是用来开启内部的两个通道的。如果要用这两个通道,需要调用这个函数,开启一下。若不开启是读不到正确结果的。

18. 获取/清除

18.1 ADC_GetFlagStatus 函数

        获取标志位状态。

18.2 ADC_ClearFlag 函数

        清除标志位。

18.3 ADC_GetITStatus 函数

        获取中断状态。

18.4 ADC_ClearITPendingBit 函数

        清除中断挂起位。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java扫盲篇】==和equals的区别

这是一道面试经典题,面试官对你说:小伙子,请你说说和equals的区别 对于来说 如果比较的是基本数据类型,那么比较的是数据的值是否相同。注意:(与数据类型无关) int a 10;int b 10;System.out…

数据库系统概念(第二周 第二堂)(关系模型)

目录 回顾 关系模型 历史与现状 组成成分 数据结构——关系 关系定义 关系性质 关系和关系模式 难点概念理解 关系属性的分类 一、超码(superkey) 二、候选码(candidate key) 三、主码(primary key&#…

Catmull-Rom P5 ThreeJs与前端

文章目录 问题Echarts 3D如何让曲线变得平滑?Echarts 2D图中平滑效果是如何实现的?如何在一个Echarts 3D图中画一个圆圈?如何在Echarts 3D图中画一个立方体? Catmull-Rom插值算法先来回答第二个问题回到第一个问题在Echarts 3D图中…

git基础命令(三)之远程命令

目录 基础概念origin git clonegit remote add 添加远程存储库git remote 显示远程存储库列表git pushgit pushgit push origin mastergit push origin --allgit push -f origin mastegit push origin --tags git fetch获取远程仓库的更新查看远程分支的更新情况拉取特定远程分…

【Linux】——进程地址空间 Linux2.6内核进程调度队列

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 文章目录 前言 一、环境变量的补充 二、进程空间的地址 2.1、程序地址空间 2.2、研究背景 2.3、程序地址空间 来段代码感受一下 2.4、进程地址空间 2.5、如何…

一文搞懂IP

IP 1. 基本介绍2. IP地址定义3. IP地址分类4. 子网掩码5. 全局地址与私有地址 1. 基本介绍 TCP/IP 协议的心脏是网络层,主要“实现节点之间的通信”,即“点对点(end-to-end)通信”。 网络层包含IP(Internet Protocol)及DNS(Domain Name Sys…

Linux的基本指令讲解

1 ls指令 语法: ls [选项][目录或文件] 功能: 对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 常用选项: -a 列出目录下的所有文件,包括以 . 开头的隐含文件。 -d…

Json Web Token(JWT) 快速入门

推荐视频:【从零开始掌握JWT】 目录 第一章 会话跟踪 01 使用Cookie和Session,jsessionid 02 使用token 例子一:自定义token 例子二:使用redis存储token 第一章 会话跟踪 应用背景 :浏览器访问web应用&#xff…

下拉树级带搜索功能

可以直接复制粘贴到自己的项目里,方法处把接口替换一下 <template><div><el-popoverplacement"bottom"width"200"trigger"click"><el-inputslot"reference"class"mrInput":placeholder"placehol…

天锐绿盾 | 公司内部文件数据 \ 资料加密系统,数据防泄密软件

#防止设计图纸、各种类型文件、各种类型软件、财务数据、客户资料、源代码&#xff0c;数据存储服务器、SVN、Git等商业核心文件数据外泄# 天锐绿盾是一款专业的企业级文件数据及资料加密系统&#xff0c;旨在为企业内部数据安全提供强有力的支持。 德人合科技 | ——天锐绿盾…

MySQL数据库的基本概念与安装

目录 引言 一、数据库的基本概念 &#xff08;一&#xff09;数据、表与数据库 1.数据(Data) 2.表 3.数据库 &#xff08;二&#xff09;数据库管理系统 &#xff08;三&#xff09;数据库系统 二、数据库的发展 三、主流数据库的介绍 &#xff08;一&#xff09;关…

地理数据表达方式学习——KML与SHP

一、KML-Keyhole Markup Language Keyhole Markup Language (KML)是一种XML符号&#xff0c;用于浏览器中二维地图和三维地球的地理注释和地理可视化&#xff08;地理数据包括点、线、面、多边形、多面体以及模型等&#xff09;。KML是伴随着Google Earth的使用而开发的&#x…

AMRT 3D 数字孪生引擎(轻量化图形引擎、GIS/BIM/3D融合引擎):智慧城市、智慧工厂、智慧建筑、智慧校园。。。

AMRT3D 一、概述 1、提供强大完整的工具链 AMRT3D包含开发引擎、资源管理、场景编辑、UI搭建、项目预览和发布等项目开发所需的全套功能&#xff0c;并整合了动画路径、精准测量、动态天气、视角切换和动画特效等工具。 2、轻量化技术应用与个性化定制 AMRT3D适用于快速开…

体验函数式组件简单实现Loading 加载(造轮子篇)

一、前言 最近想着优化一下网站&#xff0c;在文章列表页加一个Loading操作&#xff0c;于是就想到了函数式组件&#xff0c;于是本章就来和大家一起简单探讨下实现思路。 二、Loading设计 这里我想实现的效果是&#xff1a;当我们刷新页面的时候&#xff0c;前端请求接口&…

Python爬虫之Scrapy框架系列(24)——分布式爬虫scrapy_redis完整实战【XXTop250完整爬取】

目录&#xff1a; 每篇前言&#xff1a;1.使用分布式爬取豆瓣电影信息&#xff08;1&#xff09;settings.py文件中的配置&#xff1a;&#xff08;2&#xff09;spider文件的更改&#xff1a;&#xff08;3&#xff09;items.py文件&#xff08;两个项目一致&#xff01;&…

Vue el-table 合并单元格

一般常见的就是下图这种的单列&#xff0c;上下重复进行合并。 有时候可能也会需要多行多列的合并。 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content&qu…

3.19网络编程

select实现的TCP并发服务器 #include <myhead.h> #define SER_IP "192.168.141.134" #define SER_PORT 8888 int main(int argc, const char *argv[]) {// 1、创建一个套接字int sfd -1;sfd socket(AF_INET, SOCK_STREAM, 0);if (sfd -1){perr…

Division by Invariant Integers using Multiplication

在处理器中&#xff0c;整数除法的成本通常是整数乘法的几倍&#xff1a; 流水线式的组合乘法器通常在不到10个周期内完成操作&#xff1b;而对于整数除法则没有硬件支持&#xff0c;或者使用的迭代除法器比乘法器慢几倍。 表 1.1 比较了一些处理器上乘法和除法的时间。这张表…

php 页面中下载文件|图片

一、需求 页面中点击下载图片 二、实现 protected function pageLoad(){$filePath $_GET[file];$host $_SERVER[HTTP_HOST];$file http://.$host.$filePath;$fileName basename($filePath);$content file_get_contents($file);ob_clean();$suffixArr explode(., $file…

数据库系统概论-练手题集合【期末复习|考研复习】

前言 总结整理不易&#xff0c;希望大家点赞收藏。 给大家整理了一下数据库系统概论中的练手题&#xff0c;以供大家期末复习和考研复习的时候使用。 数据库系统概论系列文章传送门&#xff1a; 第一章 绪论 第二/三章 关系数据库和标准语言SQL 第四/五章 数据库安全性和完整性…