xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
载入中...
搜索中...
未找到
xt_hal_adc(ADC 驱动)

XTINY HAL ADC 模块接口 更多...

结构体

struct  xt_hal_adc_result
 ADC 连续传输结果结构体 更多...

宏定义

#define XT_HAL_ADC_INVALID_ID   (0xFF)

类型定义

typedef void(* xt_hal_adc_cb_t) (uint8_t adc_id, uint32_t event_id)
 ADC 回调函数类型定义

枚举

enum  xt_hal_adc_event_id { XT_HAL_ADC_EVENT_BATCH_DONE = 0x00 , XT_HAL_ADC_EVENT_ERROR }
 ADC 事件 ID 枚举 更多...

函数

xt_err_t xt_hal_adc_setup (uint8_t adc_id, uint8_t res_bits, uint16_t vref_mv)
 初始化 ADC(单次采样模式)
xt_err_t xt_hal_adc_close (uint8_t adc_id)
 关闭 ADC(单次采样模式)
int32_t xt_hal_adc_get_verf_mv (uint8_t adc_id)
 获取 ADC 参考电压
int32_t xt_hal_adc_get_raw (uint8_t adc_id)
 获取 ADC 原始采样值
int32_t xt_hal_adc_get_mv (uint8_t adc_id)
 获取 ADC 转换后的电压值
xt_err_t xt_hal_adc_set_cb (uint8_t adc_id, xt_hal_adc_cb_t cb)
 设置 ADC 回调函数
xt_err_t xt_hal_adc_setup_continuous (uint8_t adc_id, uint8_t res_bits, uint16_t vref_mv, uint32_t sample_freq_hz)
 初始化 ADC 连续采样模式
xt_err_t xt_hal_adc_close_continuous (uint8_t adc_id)
 关闭 ADC 连续采样模式
xt_err_t xt_hal_adc_rx_continuous (uint8_t adc_id, void *rx_buffer, size_t size)
 启动 ADC 连续接收
xt_err_t xt_hal_adc_stop_continuous (uint8_t adc_id)
 停止 ADC 连续采样
xt_err_t xt_hal_adc_get_result (uint8_t adc_id, struct xt_hal_adc_result *result)
 获取 ADC 连续采样结果

详细描述

XTINY HAL ADC 模块接口

宏定义说明

◆ XT_HAL_ADC_INVALID_ID

#define XT_HAL_ADC_INVALID_ID   (0xFF)

在文件 xt_hal_adc.h 第 33 行定义.

类型定义说明

◆ xt_hal_adc_cb_t

typedef void(* xt_hal_adc_cb_t) (uint8_t adc_id, uint32_t event_id)

ADC 回调函数类型定义

参数
adc_idADC 索引
event_id事件 ID,见 xt_hal_adc_event_id

在文件 xt_hal_adc.h 第 51 行定义.

枚举类型说明

◆ xt_hal_adc_event_id

ADC 事件 ID 枚举

枚举值
XT_HAL_ADC_EVENT_BATCH_DONE 

连续传输完成一个批次(某半段传输完成)

XT_HAL_ADC_EVENT_ERROR 

错误事件

在文件 xt_hal_adc.h 第 40 行定义.

函数说明

◆ xt_hal_adc_close()

xt_err_t xt_hal_adc_close ( uint8_t adc_id)

关闭 ADC(单次采样模式)

参数
adc_idADC 索引
返回
xt_err_t XT_EOK 成功,其他失败

◆ xt_hal_adc_close_continuous()

xt_err_t xt_hal_adc_close_continuous ( uint8_t adc_id)

关闭 ADC 连续采样模式

参数
adc_idADC 索引
返回
xt_err_t XT_EOK 成功,其他失败

◆ xt_hal_adc_get_mv()

int32_t xt_hal_adc_get_mv ( uint8_t adc_id)

获取 ADC 转换后的电压值

参数
adc_idADC 索引
返回
int32_t 电压值(单位:mV),负数为错误码

◆ xt_hal_adc_get_raw()

int32_t xt_hal_adc_get_raw ( uint8_t adc_id)

获取 ADC 原始采样值

参数
adc_idADC 索引
返回
int32_t 原始采样值,有效位取决于设置的 res_bits;负数为错误码

◆ xt_hal_adc_get_result()

xt_err_t xt_hal_adc_get_result ( uint8_t adc_id,
struct xt_hal_adc_result * result )

获取 ADC 连续采样结果

注解
只允许在回调函数中调用,仅 continuous 模式支持
参数
adc_idADC 索引
result输出结果,见 xt_hal_adc_result
返回
xt_err_t XT_EOK 成功,其他失败

◆ xt_hal_adc_get_verf_mv()

int32_t xt_hal_adc_get_verf_mv ( uint8_t adc_id)

获取 ADC 参考电压

参数
adc_idADC 索引
返回
int32_t 参考电压(单位:mV),负数为错误码

◆ xt_hal_adc_rx_continuous()

xt_err_t xt_hal_adc_rx_continuous ( uint8_t adc_id,
void * rx_buffer,
size_t size )

启动 ADC 连续接收

参数
adc_idADC 索引
rx_buffer接收缓冲区指针
size缓冲区大小(字节)
返回
xt_err_t XT_EOK 成功,其他失败

◆ xt_hal_adc_set_cb()

xt_err_t xt_hal_adc_set_cb ( uint8_t adc_id,
xt_hal_adc_cb_t cb )

设置 ADC 回调函数

参数
adc_idADC 索引
cb回调函数,见 xt_hal_adc_cb_t
返回
xt_err_t XT_EOK 成功,其他失败

◆ xt_hal_adc_setup()

xt_err_t xt_hal_adc_setup ( uint8_t adc_id,
uint8_t res_bits,
uint16_t vref_mv )

初始化 ADC(单次采样模式)

参数
adc_idADC 索引
res_bits分辨率(bit 数)
vref_mv参考电压(单位:mV)
返回
xt_err_t XT_EOK 成功,其他失败

◆ xt_hal_adc_setup_continuous()

xt_err_t xt_hal_adc_setup_continuous ( uint8_t adc_id,
uint8_t res_bits,
uint16_t vref_mv,
uint32_t sample_freq_hz )

初始化 ADC 连续采样模式

连续采样时不会转换数据,buffer 只会填充原始 ADC 采样值。

参数
adc_idADC 索引
res_bits分辨率(bit 数)
vref_mv参考电压(单位:mV)
sample_freq_hz采样频率(单位:Hz)
返回
xt_err_t XT_EOK 成功,其他失败

◆ xt_hal_adc_stop_continuous()

xt_err_t xt_hal_adc_stop_continuous ( uint8_t adc_id)

停止 ADC 连续采样

参数
adc_idADC 索引
返回
xt_err_t XT_EOK 成功,其他失败