资源简介
STM32L452RET* ADC初始化+外部电压采集+温度传感器(已转换) LL库配置
代码片段和文件信息
#include “ADC.h“
/* Delay between ADC end of calibration and ADC enable. */
/* Delay estimation in CPU cycles: Case of ADC enable done */
/* immediately after ADC calibration ADC clock setting slow */
/* (LL_ADC_CLOCK_ASYNC_DIV32). Use a higher delay if ratio */
/* (CPU clock / ADC clock) is above 32. */
#define ADC_DELAY_CALIB_ENABLE_CPU_CYCLES (LL_ADC_DELAY_CALIB_ENABLE_ADC_CYCLES * 32)
#define VDDA_APPLI ((uint32_t)3300)//连接模拟电压的模拟参考电压(VREF)值,电源VDDA(单位:mV)
#define VAR_CONVERTED_DATA_INIT_VALUE (__LL_ADC_DIGITAL_SCALE(LL_ADC_RESOLUTION_12B) + 1)//ADC转换值范围
__IO uint16_t uhADCxConvertedData = VAR_CONVERTED_DATA_INIT_VALUE;//ADC转换数据
/***************************************************************************************
** 函数名称: ADC1_Init
** 功能描述: ADC1初始化
** 参 数: None
** 返 回 值: None
****************************************************************************************/
void ADC1_Init(void)
{
LL_ADC_InitTypeDef ADC_InitStruct;
LL_ADC_REG_InitTypeDef ADC_REG_InitStruct;
LL_ADC_CommonInitTypeDef ADC_CommonInitStruct;
LL_GPIO_InitTypeDef GPIO_InitStruct;
LL_AHB2_GRP1_EnableClock(LL_AHB2_GRP1_PERIPH_ADC);//使能ADC时钟
//配置ADC采样引脚
GPIO_InitStruct.Pin = LL_GPIO_PIN_4;//PA4
GPIO_InitStruct.Mode = LL_GPIO_MODE_ANALOG;//复用模式
GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;//无上下拉
LL_GPIO_Init(GPIOA &GPIO_InitStruct);//初始化PA4引脚
//配置ADC1
ADC_InitStruct.Resolution = LL_ADC_RESOLUTION_12B;//12位分辨率
ADC_InitStruct.DataAlignment = LL_ADC_DATA_ALIGN_RIGHT;//靠右对齐
ADC_InitStruct.LowPowerMode = LL_ADC_LP_MODE_NONE;//禁用低功耗ADC激活
LL_ADC_Init(ADC1 &ADC_InitStruct);//初始化ADC1
//配置ADC1其他特征
ADC_REG_InitStruct.TriggerSource = LL_ADC_REG_TRIG_SOFTWARE;//内部触发器
ADC_REG_InitStruct.SequencerLength = LL_ADC_REG_SEQ_SCAN_ENABLE_2RANKS;//2级序列发生器
ADC_REG_InitStruct.SequencerDiscont = LL_ADC_REG_SEQ_DISCONT_DISABLE;//禁用不连续模式
ADC_REG_InitStruct.ContinuousMode = LL_ADC_REG_CONV_SINGLE;//单次转换模式
ADC_REG_InitStruct.DMATransfer = LL_ADC_REG_DMA_TRANSFER_NONE;//禁用DMA传输
ADC_REG_InitStruct.Overrun = LL_ADC_REG_OVR_DATA_PRESERVED;//溢出时保留数据
LL_ADC_REG_Init(ADC1 &ADC_REG_InitStruct);//初始化Task_AD();
LL_ADC_DisableIT_EOC(ADC1);//禁用EOC中断
LL_ADC_DisableIT_EOS(ADC1);//禁用EOS中断
LL_ADC_DisableDeepPowerDown(ADC1);//禁用深度掉电模式
LL_ADC_EnableInternalRegulator(ADC1);//开启内部电压调节器
//配置ADC1公共参数
ADC_CommonInitStruct.CommonClock = LL_ADC_CLOCK_ASYNC_DIV1;//无预分频异步时钟
LL_ADC_CommonInit(__LL_ADC_COMMON_INSTANCE(ADC1) &ADC_CommonInitStruct);//初始化ADC1公共参数
//配置ADC1采样通道
LL_ADC_REG_SetSequencerRanks(ADC1 LL_ADC_REG_RANK_1 LL_ADC_CHANNEL_9);//ADC1通道9第一个转换
LL_ADC_SetChannelSamplingTime(ADC1 LL_ADC_CHANNEL_9 LL_ADC_SAMPLINGTIME_2CYCLES_5);//ADC1通道9采样时间2.5 ADC时钟周期
LL_ADC_SetChannelSingleDiff(ADC1 LL_ADC_CHANNEL_9 LL_ADC_SINGLE_ENDED);//ADC1通道9单端模式
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8412 2019-10-18 10:48 STM32L452ADC初始化+外部电压采集+温度传感器+LL库配置\ADC.c
文件 686 2019-10-18 11:06 STM32L452ADC初始化+外部电压采集+温度传感器+LL库配置\ADC.h
目录 0 2019-10-18 16:48 STM32L452ADC初始化+外部电压采集+温度传感器+LL库配置
----------- --------- ---------- ----- ----
9098 3
- 上一篇:艾码森盘点机无线传输工具
- 下一篇:编译原理考点,编译原理考点整理。
评论
共有 条评论