WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
adc.h
浏览该文件的文档.
1
10#ifndef ADC_H
11#define ADC_H
12
13#include <stdint.h>
14#include <stdbool.h>
15#include "errcode.h"
16
17#ifdef __cplusplus
18#if __cplusplus
19extern "C" {
20#endif /* __cplusplus */
21#endif /* __cplusplus */
22
48
56typedef enum afe_scan_mode {
57 AFE_GADC_MODE = 0,
59#if defined (CONFIG_ADC_SUPPORT_HAFE)
62#elif (defined CONFIG_ADC_SUPPORT_AMIC)
63 AFE_AMIC_MODE,
65 AFE_BIO_MODE,
67#endif
70
78typedef struct adc_scan_config {
79 uint8_t type;
88 uint8_t freq;
90#if defined(CONFIG_ADC_SUPPORT_LONG_SAMPLE)
91 uint32_t long_sample_time;
93#endif
95
115typedef void (*adc_callback_t)(uint8_t channel, uint32_t *buffer, uint32_t length, bool *next);
116
131
144
157
169bool uapi_adc_is_using(void);
170
184errcode_t uapi_adc_open_channel(uint8_t channel);
185
199errcode_t uapi_adc_close_channel(uint8_t channel);
200
201#if defined(CONFIG_ADC_SUPPORT_DIFFERENTIAL)
217errcode_t uapi_adc_open_differential_channel(uint8_t postive_ch, uint8_t negative_ch);
218
234errcode_t uapi_adc_close_differential_channel(uint8_t postive_ch, uint8_t negative_ch);
235#endif
236
237#if defined(CONFIG_ADC_SUPPORT_AUTO_SCAN)
258
273
282
295#endif /* CONFIG_ADC_SUPPORT_AUTO_SCAN */
296
308int32_t uapi_adc_manual_sample(uint8_t channel);
309
310#if defined(CONFIG_ADC_SUPPORT_AFE)
322int32_t uapi_adc_auto_sample(uint8_t channel);
323#endif /* CONFIG_ADC_SUPPORT_AFE */
324
329#ifdef __cplusplus
330#if __cplusplus
331}
332#endif /* __cplusplus */
333#endif /* __cplusplus */
334
335#endif
uint32_t errcode_t
Definition of error code.
Definition errcode.h:30
void uapi_adc_power_en(afe_scan_mode_t afe_scan_mode, bool en)
上下电并启用或关闭ADC。
Definition adc.c:77
errcode_t uapi_adc_open_channel(uint8_t channel)
开启一个ADC通道。
Definition adc.c:119
void(* adc_callback_t)(uint8_t channel, uint32_t *buffer, uint32_t length, bool *next)
ADC自动扫描回调函数指针。
Definition adc.h:115
struct adc_scan_config adc_scan_config_t
ADC扫描配置。
errcode_t uapi_adc_auto_scan_ch_enable(uint8_t channel, adc_scan_config_t config, adc_callback_t callback)
启用ADC自动扫描通道,在启用自动扫描之前,需要打开ADC电源。
Definition adc.c:243
int32_t uapi_adc_manual_sample(uint8_t channel)
ADC手动采样。
Definition adc.c:298
errcode_t uapi_adc_close_channel(uint8_t channel)
关闭一个ADC通道。
Definition adc.c:148
errcode_t uapi_adc_deinit(void)
去初始化ADC。
Definition adc.c:58
afe_scan_mode
ADC的扫描模式。
Definition adc.h:56
bool uapi_adc_auto_scan_is_enabled(void)
获取自动扫描状态。
Definition adc.c:292
errcode_t uapi_adc_auto_scan_ch_disable(uint8_t channel)
手动禁用单通道自动扫描。
Definition adc.c:272
enum adc_clock adc_clock_t
ADC一次采样需要16个时钟周期,因此采样速率 = adc_clk / 16。
enum afe_scan_mode afe_scan_mode_t
ADC的扫描模式。
adc_clock
ADC一次采样需要16个时钟周期,因此采样速率 = adc_clk / 16。
Definition adc.h:36
void uapi_adc_auto_scan_disable(void)
手动禁用自动扫描,禁用所有扫描通道,并关闭ADC电源。
Definition adc.c:281
bool uapi_adc_is_using(void)
检查ADC是否正在使用。
Definition adc.c:110
errcode_t uapi_adc_init(adc_clock_t clock)
初始化ADC。
Definition adc.c:36
@ AFE_HADC_MODE
Definition adc.h:60
@ AFE_SCAN_MODE_MAX_NUM
Definition adc.h:68
@ AFE_GADC_MODE
Definition adc.h:57
@ ADC_CLOCK_015KHZ
Definition adc.h:43
@ ADC_CLOCK_NONE
Definition adc.h:46
@ ADC_CLOCK_MAX
Definition adc.h:45
@ ADC_CLOCK_500KHZ
Definition adc.h:37
@ ADC_CLOCK_250KHZ
Definition adc.h:39
@ ADC_CLOCK_125KHZ
Definition adc.h:41
ADC扫描配置。
Definition adc.h:78
float threshold_l
Definition adc.h:82
uint8_t freq
Definition adc.h:88
float threshold_h
Definition adc.h:85
uint8_t type
Definition adc.h:79