CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
ci130x_adc.h
浏览该文件的文档.
1 
11 #ifndef __CI130X_ADC_H
12 #define __CI130X_ADC_H
13 
14 
15 //是否使用操作系统相关的队列,如果不适用则使用回调函数模式
16 #define ADC_DRIVER_USE_RTOS 0
17 
18 
19 #include "ci130x_system.h"
20 
21 #ifdef __cplusplus
22 extern "C"{
23 #endif
24 
35 typedef enum
36 {
48 
53 typedef enum
54 {
69 
74 typedef enum
75 {
81 
82 void adc_int_clear(adc_channelx_t channel);
84 int8_t adc_get_vol_value(adc_channelx_t cha,float* vol_val);
85 void adc_poweron(void);
86 void adc_reset(void);
89 void adc_cycle_mode(adc_channelx_t cha,uint16_t cycle);
90 void adc_caculate_mode(void);
91 uint32_t adc_get_result(adc_channelx_t channel);
93 
94 extern void adc_wait_int(adc_channelx_t cha);
95 void ADC_irqhandle(void);
96 
101 //TEST ADC
102 #define ADC_INIT_ADDR 0x1ff53000
103 #define AIN0 *(volatile unsigned int *)(ADC_INIT_ADDR + 0*4)
104 #define AIN1 *(volatile unsigned int *)(ADC_INIT_ADDR + 1*4)
105 #define AIN2 *(volatile unsigned int *)(ADC_INIT_ADDR + 2*4)
106 #define AIN3 *(volatile unsigned int *)(ADC_INIT_ADDR + 3*4)
107 
108 #define ADC_INIT_RSEILT_ADDR 0x1ff54000
109 #define RESULT_AIN0 *(volatile unsigned int *)(ADC_INIT_RSEILT_ADDR +0*4)//1
110 #define RESULT_AIN1 *(volatile unsigned int *)(ADC_INIT_RSEILT_ADDR +1*4)//1
111 #define RESULT_AIN2 *(volatile unsigned int *)(ADC_INIT_RSEILT_ADDR +2*4)//1
112 #define RESULT_AIN3 *(volatile unsigned int *)(ADC_INIT_RSEILT_ADDR +3*4)//1
113 
114 #define RESULT_JY_AIN0 *(volatile unsigned int *)(ADC_INIT_RSEILT_ADDR +4*4)//1
115 #define RESULT_JY_AIN1 *(volatile unsigned int *)(ADC_INIT_RSEILT_ADDR +5*4)//1
116 #define RESULT_JY_AIN2 *(volatile unsigned int *)(ADC_INIT_RSEILT_ADDR +6*4)//1
117 #define RESULT_JY_AIN3 *(volatile unsigned int *)(ADC_INIT_RSEILT_ADDR +7*4)//1
118 
119 #define a3_result_in (volatile unsigned int *)(ADC_INIT_RSEILT_ADDR +8*4)//5
120 
121 #define an0_result_other (volatile unsigned int *)(ADC_INIT_RSEILT_ADDR+ 13*4)//24
122 #define an1_result_other (volatile unsigned int *)(ADC_INIT_RSEILT_ADDR+ (13+24)*4)//12
123 #define an2_result_other (volatile unsigned int *)(ADC_INIT_RSEILT_ADDR+ (13+24+12)*4)//8
124 #define an3_result_other (volatile unsigned int *)(ADC_INIT_RSEILT_ADDR+ (13+24+12+8)*4)//6
125 
126 #define an0_result_last (volatile unsigned int *)(ADC_INIT_RSEILT_ADDR+ (13+24+12+8+6)*4)//3
127 #define an1_result_last (volatile unsigned int *)(ADC_INIT_RSEILT_ADDR+ (13+24+12+8+6+3)*4)//3
128 #define an2_result_last (volatile unsigned int *)(ADC_INIT_RSEILT_ADDR+ (13+24+12+8+6+3+3)*4)//3
129 #define an3_result_last (volatile unsigned int *)(ADC_INIT_RSEILT_ADDR+ (13+24+12+8+6+3+3+3)*4)//3
130 
131 #ifdef __cplusplus
132 }
133 #endif
134 
135 #endif /*__CI130X_ADC_H*/
void adc_reset(void)
ADC复位
Definition: ci130x_adc.c:582
ADC 通道1,对应引脚PA1
Definition: ci130x_adc.h:58
ADC 通道3,对应引脚PC3
Definition: ci130x_adc.h:62
采样保持5个cycle
Definition: ci130x_adc.h:46
ADC 通道0,对应引脚PA0
Definition: ci130x_adc.h:56
void adc_wait_int(adc_channelx_t cha)
ADC等待中断全局变量标志
Definition: ci130x_adc.c:75
int8_t adc_get_vol_value(adc_channelx_t cha, float *vol_val)
获取ADC转换的电压值
Definition: ci130x_adc.c:548
void adc_signal_mode(adc_channelx_t cha)
ADC soft软件触发模式配置
Definition: ci130x_adc.c:599
void ADC_irqhandle(void)
ADC中断服务函数
Definition: ci130x_adc.c:112
ADC 通道2,对应引脚PC4
Definition: ci130x_adc.h:60
采样值出现异常的时候触发中断
Definition: ci130x_adc.h:79
void adc_soc_soft_ctrl(FunctionalState cmd)
ADC软件触发(软件强制开始转换)
Definition: ci130x_adc.c:393
adc_channelx_t
ADC通道编号
Definition: ci130x_adc.h:53
void adc_caculate_mode(void)
ADC校准模式配置
Definition: ci130x_adc.c:653
采样保持2个cycle
Definition: ci130x_adc.h:40
void adc_calibrate(FunctionalState cmd)
ADC校准使能
Definition: ci130x_adc.c:192
uint32_t adc_get_result(adc_channelx_t channel)
获取ADC某个通道的转换结果(只支持ADC_CHANNEL_0-ADC_CHANNEL_5)
Definition: ci130x_adc.c:424
void adc_int_clear(adc_channelx_t channel)
ADC中断标志清除(只支持ADC_CHANNEL_0-ADC_CHANNEL_5)
Definition: ci130x_adc.c:382
ADC 通道5,对应引脚PC1
Definition: ci130x_adc.h:66
chip级定义
采样保持3个cycle
Definition: ci130x_adc.h:42
void adc_poweron(void)
ADC上电
Definition: ci130x_adc.c:559
void adc_series_mode(adc_channelx_t cha)
ADC连续模式配置
Definition: ci130x_adc.c:614
采样保持4个cycle
Definition: ci130x_adc.h:44
adc_clkcyclex_t
采样保持时间选择
Definition: ci130x_adc.h:35
FunctionalState
Definition: ci130x_system.h:86
ADC 通道4,对应引脚PC2
Definition: ci130x_adc.h:64
void adc_cycle_mode(adc_channelx_t cha, uint16_t cycle)
ADC周期模式配置
Definition: ci130x_adc.c:630
adc_int_mode_t
ADC中断条件选择
Definition: ci130x_adc.h:74
采样保持1个cycle
Definition: ci130x_adc.h:38
每次转换完成触发中断
Definition: ci130x_adc.h:77
Definition: ci130x_adc.h:67