STM32教程:ADC原理及程序(基于STM32F103C8T6最小系统板标准库开发)*详细教程*

前言:

本文章介绍了STM32微控制器的ADC外设,介绍了ADC的底层原理以及基本结构,介绍了ADC有关的标准库函数,以及如何编写代码实现ADC对电位器电压的读取。


可以根据基本结构图来编写代码

大体流程:

1、开启RCC时钟(包括ADC和GPIO的时钟,另外ADCCLK的分频器,也需要配置)

2、配置GPIO(把需要用的GPIO配置成模拟输入模式)

3、配置多路开关(把左边的通道接入到右边的规则组列表里)

4、配置ADC转换器(用库函数结构体)

5、如果需要模拟看门狗和中断,也可以配置

6、开关控制,调用ADC_Cmd函数,开启ADC(如果需要,还可以开启校准)


ADC相关库函数介绍

1)ADCCLK的配置库函数,在rcc.h

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

void RCC_ADCCLKConfig(uint32_t RCC_PCLK2);

2)ADC的配置库函数,在adc.h

恢复出厂配置、初始化、结构体初始化

void ADC_DeInit(ADC_TypeDef* ADCx);
void ADC_Init(ADC_TypeDef* ADCx, ADC_InitTypeDef* ADC_InitStruct);
void ADC_StructInit(ADC_InitTypeDef* ADC_InitStruct);

用于给ADC上电

void ADC_Cmd(ADC_TypeDef* ADCx, FunctionalState NewState);

开启DMA输出信号(如果使用DMA转运数据,就得调用这个函数)

void ADC_DMACmd(ADC_TypeDef* ADCx, FunctionalState NewState);

中断输出控制

void ADC_ITConfig(ADC_TypeDef* ADCx, uint16_t ADC_IT, FunctionalState NewState);

用于控制校准的函数:复位校准、获取复位校准状态、开始校准,获取开始校准状态(在ADC初始化之后,可以依次调用)

void ADC_ResetCalibration(ADC_TypeDef* ADCx);
FlagStatus ADC_GetResetCalibrationStatus(ADC_TypeDef* ADCx);
void ADC_StartCalibration(ADC_TypeDef* ADCx);
FlagStatus ADC_GetCalibrationStatus(ADC_TypeDef* ADCx);

ADC软件开始转换控制,这个就是用于软件触发的函数了,调用一下,就可以软件触发转化了

void ADC_SoftwareStartCon
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值