ADC(模数转换)

A9/A9G模组有两个10位ADC接口,可以测量0~1.8V电压

例示程序参考 demo/adc


1. 枚举类型

1.1. ADC_Channel_t

ADC通道,总共两个通道,ADC0和ADC1

typedef enum
{
    ADC_CHANNEL_0 = 0 ,
    ADC_CHANNEL_1     ,
    ADC_CHANNEL_MAX
}ADC_Channel_t;

1.2. ADC_Sample_Period_t

ADC采样周期

typedef enum
{
    ADC_SAMPLE_PERIOD_122US = 0        ,
    ADC_SAMPLE_PERIOD_1MS              ,
    ADC_SAMPLE_PERIOD_10MS             ,
    ADC_SAMPLE_PERIOD_100MS            ,
    ADC_SAMPLE_PERIOD_250MS            ,
    ADC_SAMPLE_PERIOD_500MS            ,
    ADC_SAMPLE_PERIOD_1S               ,
    ADC_SAMPLE_PERIOD_2S               ,
    ADC_SAMPLE_PERIOD_MAX              
} ADC_Sample_Period_t;//Acquisition Time Period

2. 结构体类型

2.1. ADC_Config_t

ADC配置信息,包含了通道值和采样周期

typedef struct
{
    ADC_Channel_t        channel;
    ADC_Sample_Period_t  samplePeriod;
}ADC_Config_t;

3. 功能函数

3.1. ADC_Init

void ADC_Init(ADC_Config_t adcConfig);
功能

初始化ADC

参数
  • adcConfig:ADC配置信息
返回值


3.2. ADC_Read

bool ADC_Read(ADC_Channel_t channel, uint16_t* value, uint16_t* mV);
功能

读取ADC值,包括数值(0~1023)和电压值(0~1.8v)

参数
  • channel:ADC通道选择
  • value:读取到的值,传入指针
  • mV:读取到的电压值,传入指针
返回值
  • bool:是否读取成功

3.3. ADC_Close

void ADC_Close(ADC_Channel_t channel);
功能

关闭ADC定期采样,当所有通道关闭后会释放ADC硬件资源

参数
  • channel:ADC通道选择
返回值


results matching ""

    No results matching ""