• 大小: 3KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: 其他
  • 标签: STM32L4**  LL库配置  

资源简介

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


评论

共有 条评论