当前位置: 首页 > wzjs >正文

平台网站建设推荐搜索竞价排名

平台网站建设推荐,搜索竞价排名,关于网站建设报告,做h5网站用什么目录 一:什么是ADC 二:ADC的用途 三:STM32F103ZET6的ADC 3.1ADC对应的引脚 3.2ADC时钟 3.3ADC的工作模式 ​编辑3.4ADC校准 3.5ADC转换结构和实际电压的换算 四:ADC配置步骤 五:两个重要的函数 一&#xff1a…

目录

一:什么是ADC

二:ADC的用途

三:STM32F103ZET6的ADC

3.1ADC对应的引脚

 3.2ADC时钟

3.3ADC的工作模式

​编辑3.4ADC校准

3.5ADC转换结构和实际电压的换算

四:ADC配置步骤

五:两个重要的函数


 

一:什么是ADC

  1. ADC(Analog-Digital Converter)模拟-数字转换器,ADC可以将引脚连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁(STM32主要是数字电路,只有高低电平,没有几V的概念,所以如果想读取电压值,就需要借助ADC模数转换器来实现。ADC读取引脚上的模拟电压,转换为一个数据,存在寄存器里,再把数据读取到变量里,就可以进行显示、判断、记录等。)
  2. 12位逐次逼近型ADC,1us转换时间

  3. 输入电压范围:0-3.3v,转换结果范围:0-4095

  4. 18个输入通道,可测量16个外部和2个内部信号源

  5. 规则组和注入组两个转换单元

二:ADC的用途

ADC可以将模拟信号转换成数字信号,比如将模拟的电压转换成数字信号,单片机进行处理。可以用作温度监测或者电流监测等方面,用途极广。

三:STM32F103ZET6的ADC

3.1ADC对应的引脚

STM32F103ZET6的ADC各通道对应IO如下

 3.2ADC时钟

ADC输入时钟ADC_CLK由APB2分频产生,最大值是14MHz。库函数提供了设置分频因子的函数

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);RCC_ADCCLKConfig(RCC_PCLK2_Div6);//分频

可选择的分频因子有

APB2总线时钟为72MHz,而ADC的最大工作频率为14MHz,所以,分频因子一般设置为6,这样ADC的输入时钟频率为12MHz。

3.3ADC的工作模式

3.4ADC校准

使能ADC后,需要对ADC进行校准。使用库函数开发时,提供了ADC校准的函数

    //校准ADC_ResetCalibration(ADC1);while(ADC_GetResetCalibrationStatus(ADC1) == SET);//判断条件是否为SET,是则为真ADC_StartCalibration(ADC1);while(ADC_GetCalibrationStatus(ADC1) == SET);

3.5ADC转换结构和实际电压的换算

获取到的AD转换结果并不是实际电压,如果想要得到实际电压,需要经过换算。上面介绍了,STM32的ADC为12位,也就是AD值取值范围为0~4095。采集电压范围为0到3.3V。AD值与实际电压之间存在比例关系。

实际电压 = (AD值 / 4095) * 3.3。单位为伏特(V)

四:ADC配置步骤

  • 使能GPIO时钟和ADC时钟,设置引脚为模拟输入
  • 设置ADC的分频因子
  • 初始化ADC参数,包括ADC工作模式,规则序列等
  • 使能ADC并校准
  • 触发AD转换,读取AD转换值
    	//开启时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);RCC_ADCCLKConfig(RCC_PCLK2_Div6);//分频//配置GPIOGPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //配置通道一GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; //在AIN的模式下,GPIO是无效的,模拟电路GPIO_Init(GPIOA, &GPIO_InitStructure);//选择输入通道ADC_RegularChannelConfig(ADC1,ADC_Channel_0,1,ADC_SampleTime_55Cycles5);//在规则组菜单列表的第一个位置,写入通道0这个通道//用结构体初始化ADCADC_InitTypeDef ADC_InitStructure; ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;//独立模式 ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;//右对齐ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //禁止触发ADC_InitStructure.ADC_ScanConvMode = DISABLE; //非扫描模式ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; //关闭连续转换ADC_InitStructure.ADC_NbrOfChannel = 1; ADC_Init(ADC1, &ADC_InitStructure);//ADC初始化//开启电源ADC_Cmd(ADC1, ENABLE);//校准ADC_ResetCalibration(ADC1);while(ADC_GetResetCalibrationStatus(ADC1) == SET);//判断条件是否为SET,是则为真ADC_StartCalibration(ADC1);while(ADC_GetCalibrationStatus(ADC1) == SET);

    五:两个重要的函数

  1. void ADC_RegularChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel, uint8_t Rank, uint8_t ADC_SampleTime);ADC_规则组通道配置,它的作用就是给序列的每个位置填写指定的通道第一个参数是ADCx,第二个是你想指定的通道,,第三个是序列几的位置,第四个是指定通道的采样时间

  2. uint16_t ADC_GetConversionValue(ADC_TypeDef* ADCx);获取AD转换的数据寄存器,读取转换结果就用这个函数

http://www.dtcms.com/wzjs/166123.html

相关文章:

  • wordpress中文免费模板seo实战培训费用
  • 单县城乡住房建设局网站店铺推广引流的方法
  • 建一个网站带管理需要多少钱一年百度下载正版
  • 静态网站模板中英文方象科技专注于什么领域
  • 如何做公司的网站建设网络营销企业有哪些公司
  • 电子商务软件网站建设的核心百度网盘客服在线咨询
  • wordpress提醒用法比优化更好的词是
  • 微信内部劵网站怎么做怎样交换友情链接
  • 怎么自己做直播网站网络营销的营销方式
  • 旅行社网站制作网络销售平台
  • asp网站开发 基础新站优化案例
  • 家居设计上海牛巨微seo
  • 莱芜金点子广告最新招聘信息萧山区seo关键词排名
  • 宝安附近做网站公司长沙关键词优化首选
  • 兰溪市建设局官方网站域名购买平台
  • 自己做网站步骤免费域名解析
  • 做本地网站怎么挣钱网络营销师报名官网
  • 怎么做网站icp备案百度网址大全官网旧版
  • 南昌做房地产用哪个网站高级搜索指令
  • 像天猫网站怎么做太原seo关键词排名
  • 华硕路由器做网站怎样宣传网站
  • 北京网站开发服务谷歌优化排名哪家强
  • 嘉鱼网站建设公司南通seo网站优化软件
  • 南阳网站建设的公司用手机制作自己的网站
  • 大型网站建设 教程站长工具排名分析
  • 个人网站展示发表文章的平台有哪些
  • 最美情侣高清免费视频播放成都seo培
  • 个人主页网站制作东莞网站推广方案
  • 微信文章转wordpress搜索引擎优化实训
  • 店面设计的风格可以分成几种seo算法入门教程