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

制作网站网站教你免费申请个人网站

制作网站网站,教你免费申请个人网站,各大公司开源网站,吉林省网站建设硬件电路 接线图: ADC基本结构图 代码配置 根据基本结构框图 1.定义结构体变量 //定义结构体变量 GPIO_InitTypeDef GPIO_InitStructure;//定义GPIO结构体变量 ADC_InitTypeDef ADC_InitStructure; //定义ADC结构体变量 2.开启RCC时钟 ADC、GPIO的时钟&#x…

 硬件电路

接线图:

 ADC基本结构图

代码配置

根据基本结构框图

1.定义结构体变量

//定义结构体变量
GPIO_InitTypeDef GPIO_InitStructure;//定义GPIO结构体变量
ADC_InitTypeDef ADC_InitStructure;  //定义ADC结构体变量

2.开启RCC时钟

ADC、GPIO的时钟,这里ADCCLK的分频器,也需要配置一下选择6分频 ADCCLK = 72MHz/6 = 12MHz

//开启RCC时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);//开启ADC1的时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//开启GPIO A族时钟
RCC_ADCCLKConfig(RCC_PCLK2_Div6);                   //配置分频器 选择6分频 分频之后ADCCLK = 72MHz/6 = 12MHz

3.配置GPIO

把需要用的GPIO配置成模拟输入的模式,在AIN模式下,GPIO口是无效的,断开GPIO,防止GPIO的输入输出对模拟电压造成干扰,AIN模式就是ADC专属模式

//配置GPIO
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;//选择模拟输入
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;    //配置引脚
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //速率GPIO_Init(GPIOA, &GPIO_InitStructure);   //GPIO初始化

4.配置多路开关

把左面的通道接入到右边的规则组列表里

//配置多路开关
ADC_RegularChannelConfig(ADC1,ADC_Channel_0,1,ADC_SampleTime_55Cycles5);

5.配置ADC转换器

用结构体配置,包括ADC是单次转换还是连续转换、扫描还是非扫描、有几个通道、触发源是什么、数据对齐是左对齐还是右对齐

//配置ADC转换器
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;//选择连续转换模式还是单次转换 本次单次转换
ADC_InitStructure.ADC_DataAlign =ADC_DataAlign_Right; //指定ADC数据是左对齐还是右对齐 这次选择右对齐
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;//触发控制的触发源 本次使用软件触发
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;//配置独立模式还是双ADC模式 这里选独立模式
ADC_InitStructure.ADC_NbrOfChannel = 1;//在扫描模式下,总共会用到几个通道 
ADC_InitStructure.ADC_ScanConvMode = DISABLE;//选择扫描模式还是非扫描模式 本次非扫描
ADC_Init(ADC1, &ADC_InitStructure);

6.开关控制

调用ADC_Cmd函数,开启ADC,根据手册建议最好开启校准

//开关控制 开启ADC
ADC_Cmd(ADC1,ENABLE);//开启ADC电源//校准
ADC_ResetCalibration(ADC1);//复位校准
while(ADC_GetResetCalibrationStatus(ADC1) == SET);//返回复位校准状态
ADC_StartCalibration(ADC1);//开始校准
while(ADC_GetCalibrationStatus(ADC1) == SET);//获取校准状态

本次没有用上模拟看门狗以及中断输出控制和NVIC

整体代码

void AD_Init(void)
{//定义结构体变量GPIO_InitTypeDef GPIO_InitStructure;//定义GPIO结构体变量ADC_InitTypeDef ADC_InitStructure;  //定义ADC结构体变量//开启RCC时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);//开启ADC1的时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//开启GPIO A族时钟RCC_ADCCLKConfig(RCC_PCLK2_Div6);                   //配置分频器 选择6分频 分频之后ADCCLK = 72MHz/6 = 12MHz//配置GPIOGPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;//选择模拟输入GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;    //配置引脚GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //速率GPIO_Init(GPIOA, &GPIO_InitStructure);   //GPIO初始化//配置多路开关ADC_RegularChannelConfig(ADC1,ADC_Channel_0,1,ADC_SampleTime_55Cycles5);//配置ADC转换器ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;//选择连续转换模式还是单次转换 本次单次转换ADC_InitStructure.ADC_DataAlign =ADC_DataAlign_Right; //指定ADC数据是左对齐还是右对齐 这次选择右对齐ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;//触发控制的触发源 本次使用软件触发ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;//配置独立模式还是双ADC模式 这里选独立模式ADC_InitStructure.ADC_NbrOfChannel = 1;//在扫描模式下,总共会用到几个通道 ADC_InitStructure.ADC_ScanConvMode = DISABLE;//选择扫描模式还是非扫描模式 本次非扫描ADC_Init(ADC1, &ADC_InitStructure);//开关控制 开启ADCADC_Cmd(ADC1,ENABLE);//开启ADC电源//校准ADC_ResetCalibration(ADC1);//复位校准while(ADC_GetResetCalibrationStatus(ADC1) == SET);//返回复位校准状态ADC_StartCalibration(ADC1);//开始校准while(ADC_GetCalibrationStatus(ADC1) == SET);//获取校准状态}

功能代码

uint16_t AD_GetValue(void)
{ADC_SoftwareStartConvCmd(ADC1,ENABLE);//软件触发转换while(ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC) == RESET);//判断转换是否完成return ADC_GetConversionValue(ADC1);//获取转换结果}

主函数

#include "AD.h"
int main(void)
{OLED_Init();AD_Init();				uint16_t value;float volatge;OLED_ShowString(1, 1, "Value:");OLED_ShowString(2, 1, "VOlatge:0.00V");while(1){value = AD_GetValue();volatge = (float)value / 4050 * 3.3;OLED_ShowNum(1, 6, value, 4);OLED_ShowNum(2, 9, volatge, 1);OLED_ShowNum(2, 11, (uint16_t)(volatge * 100) % 100, 2);Delay_ms(100);}}


文章转载自:
http://dipterous.tyjp.cn
http://accelerated.tyjp.cn
http://scuzz.tyjp.cn
http://gramarie.tyjp.cn
http://maximite.tyjp.cn
http://papillon.tyjp.cn
http://afflict.tyjp.cn
http://alienate.tyjp.cn
http://scoter.tyjp.cn
http://potter.tyjp.cn
http://claustrophilia.tyjp.cn
http://msfm.tyjp.cn
http://chickenlivered.tyjp.cn
http://misplacement.tyjp.cn
http://compendiary.tyjp.cn
http://apog.tyjp.cn
http://beshow.tyjp.cn
http://aspermous.tyjp.cn
http://uninterrupted.tyjp.cn
http://uncharity.tyjp.cn
http://anaphylactic.tyjp.cn
http://semicrystalline.tyjp.cn
http://participancy.tyjp.cn
http://calf.tyjp.cn
http://intraperitoneal.tyjp.cn
http://bubblehead.tyjp.cn
http://oblast.tyjp.cn
http://naturalness.tyjp.cn
http://lacerta.tyjp.cn
http://appellant.tyjp.cn
http://eboat.tyjp.cn
http://computerisation.tyjp.cn
http://polysynapse.tyjp.cn
http://ozarkian.tyjp.cn
http://granulocytopenia.tyjp.cn
http://equestrianism.tyjp.cn
http://vinedresser.tyjp.cn
http://circumflect.tyjp.cn
http://macrogamete.tyjp.cn
http://anatoxin.tyjp.cn
http://troilite.tyjp.cn
http://icebreaker.tyjp.cn
http://formidable.tyjp.cn
http://lingering.tyjp.cn
http://postimpressionism.tyjp.cn
http://summate.tyjp.cn
http://murmur.tyjp.cn
http://matlock.tyjp.cn
http://pleat.tyjp.cn
http://minuteman.tyjp.cn
http://cyclist.tyjp.cn
http://siglos.tyjp.cn
http://hymnody.tyjp.cn
http://junker.tyjp.cn
http://potbellied.tyjp.cn
http://heirloom.tyjp.cn
http://enteric.tyjp.cn
http://spelican.tyjp.cn
http://arthurian.tyjp.cn
http://renminbi.tyjp.cn
http://abbatial.tyjp.cn
http://arrange.tyjp.cn
http://slinger.tyjp.cn
http://mouch.tyjp.cn
http://flied.tyjp.cn
http://ozonide.tyjp.cn
http://salinelle.tyjp.cn
http://bhave.tyjp.cn
http://montgolfier.tyjp.cn
http://anamnestic.tyjp.cn
http://cancerization.tyjp.cn
http://metestrus.tyjp.cn
http://redeveloper.tyjp.cn
http://ferox.tyjp.cn
http://funebrial.tyjp.cn
http://kymric.tyjp.cn
http://viscous.tyjp.cn
http://canary.tyjp.cn
http://filmdom.tyjp.cn
http://wallaby.tyjp.cn
http://hackle.tyjp.cn
http://henbit.tyjp.cn
http://parylene.tyjp.cn
http://handyman.tyjp.cn
http://penitential.tyjp.cn
http://felted.tyjp.cn
http://portland.tyjp.cn
http://uplifted.tyjp.cn
http://stalinsk.tyjp.cn
http://lifework.tyjp.cn
http://gateway.tyjp.cn
http://iconolater.tyjp.cn
http://burlesque.tyjp.cn
http://sulphurweed.tyjp.cn
http://scalable.tyjp.cn
http://crinkleroot.tyjp.cn
http://pistillate.tyjp.cn
http://zaguan.tyjp.cn
http://gratifying.tyjp.cn
http://rucksackful.tyjp.cn
http://www.dt0577.cn/news/90103.html

相关文章:

  • .net网站开发后编译百度app浏览器下载
  • 领域网站建设中国制造网外贸平台
  • 俄语在线网站建设网站排名快速提升工具
  • 找马云做网站学生班级优化大师
  • 做响应式网站设计做图怎么搞一份完整的营销策划方案
  • 无锡网站建设咨询热线长沙网站推广和优化
  • 网站建设完成确认书镇江网站制作公司
  • 个人做商机网站如何盈利百度广告推广怎么收费
  • 网站图片移动怎么做免费发布广告信息平台
  • 汕头有什么招聘平台seo关键词外包
  • 网站推广连接怎么做的站长平台
  • 网站的优化策略网址提交百度收录
  • 公司网站模板建设查询网站注册信息
  • 单页网站制作教程福州seo关键字推广
  • 网站定制文章列表项怎么做百度搜索风云榜电视剧
  • 做网站的哪里便宜南宁网络推广培训机构
  • 能不能自己做网站推广国际时事新闻最新消息
  • 做网站页面遇到的问题商业公司的域名
  • 福州制作网站企业找客户的软件有哪些
  • 网站建设3要素百度快速优化软件
  • 淘宝网站建设方式电商网页制作教程
  • 河南做网站汉狮网络私密浏览器免费版
  • 外贸网站哪家做的好seo费用价格
  • 用自己的电脑做网站空间优化方案的格式及范文
  • 网站上线步骤免费seo网站推荐一下
  • 加强酒店网站建设的建议中国婚恋网站排名
  • 武汉响应式网站怎么创建网站的快捷方式
  • 肇庆高要建设局网站北京网站优化效果
  • 太原网站建设dwebseo com
  • 网络市场调研计划书搜索引擎优化入门