- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32的ADC程序设计 课程:《激光设备控制系统集成与开发》 主讲人:林烨 光机电应用技术国家教学资源库 教学目标: 掌握STM32 ADC的程序设计方法 光机电应用技术国家教学资源库 一、STM32的单次转换模式程序设计步骤 1)开启 PA 口时钟和 ADC1 时钟,设置 GPIO为模拟输入 2) 复位 ADC1,同时设置 ADC1 分频因子 3)初始化 ADC1 参数, 设置工作模式及规则序列 4)使能并校准ADC 5)读取ADC值 光机电应用技术国家教学资源库 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1, ENABLE ); //使能ADC1通道时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; GPIO_Init(GPIOA, GPIO_InitStructure); //PA0,PA1 作为模拟通道输入引脚 光机电应用技术国家教学资源库 1) 开启 PA 口时钟和 ADC1 时钟,设置 PA1 为模拟输入 1) 开启 PA 口时钟和 ADC1 时钟,设置 PA1 为模拟输入 ADC 通道与 GPIO 对应表 光机电应用技术国家教学资源库 2) 复位 ADC1,同时设置 ADC1 分频因子 ADC 时钟复位的方法是:ADC_DeInit(ADC1); 设置 ADC1 的分频因子: RCC_ADCCLKConfig(RCC_PCLK2_Div6); 光机电应用技术国家教学资源库 3) 初始化 ADC1 参数,设置 ADC1 的工作模式以及规则序列 void ADC_Init(ADC_TypeDef* ADCx, ADC_InitTypeDef* ADC_InitStruct); typedef struct{ uint32_t ADC_Mode; FunctionalState ADC_ScanConvMode; FunctionalState ADC_ContinuousConvMode; uint32_t ADC_ExternalTrigConv; uint32_t ADC_DataAlign; uint8_t ADC_NbrOfChannel;}ADC_InitTypeDef; 光机电应用技术国家教学资源库 ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //ADC 工作模式:独立模式 ADC_InitStructure.ADC_ScanConvMode = DISABLE; //AD 单通道模式 ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; // 单次转换模式 ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //转换由软件而不是外部触发启动 ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; // 数据右对齐 ADC_InitStructure.ADC_NbrOfChannel = 1; //顺序进行规则转换 ADC 通道的数目 1 ADC_Init(ADC1, ADC_InitStructure); //根据指定的参数初始化外设 ADCx 光机电应用技术国家教学资源库 3) 初始化 ADC1 参数,设置 ADC1 的工作模式以及规则序列 4) 使能 ADC 并校准 使能指定的 ADC 的方法是: ADC_Cmd(ADC1, ENABLE); //使能指定的 ADC1 执行复位校准的方法是: ADC_ResetCalibration(ADC1); 执行 ADC 校准的方法是: ADC_StartCalibration(ADC1); //开始指定 ADC1 的校准状态 光机电应用技术国家教学资源库 5) 读取 ADC 值 设置规则序列 1 里面的通道,采样顺序, 以及通道的采样周期, 启动 ADC 转换。在转换结束后,读取 ADC 转换结果值。 设置规则序列通道以及采样周期的函数是: void ADC_RegularChannelConfig(ADC_TypeDef* ADCx, uint8_t ADC_Channel,uint8_t Rank, uint8_t ADC_S
您可能关注的文档
- 惠山泥人捏塑手法捏塑手法.pptx
- 婚姻家庭法结婚制度概述结婚制度概述.ppt
- 混凝土结构工程施工(新)钢筋的进场验收与堆放课件--钢筋的进场验收与堆放.ppt
- 火法冶金-熔炼技术绪言1熔炼技术-绪论.ppt
- 机舱资源管理(旧)12教学课件《机舱资源管理》项目3教学课件.ppt
- 机场危险品与爆炸物安全处置危险化学品概述案例2.1.ppt
- 机电(机械)技术创新创业实务市场测试KC017A079评估产品与市场-市场测试.pptx
- 机电(机械)技术创新创业实务提高雾化喷射成形系统沉积坯的金属强度KC017A062(提高雾化喷射成形系统沉积坯的金属强度(物场模型)).pptx
- 机械产品数字化设计项目2-4直线运动机构选型设计2-4-01直线运动机构-直线轴承-03直线轴承装配.pptx
- 机械传动基础326典型零部件3267认识CA6140车床中的联轴器、离合器与制动器.ppt
文档评论(0)