1 /******************************************************************************
2 * Copyright (C) 2017, Huada Semiconductor Co.,Ltd All rights reserved.
3 *
4 * This software is owned and published by:
5 * Huada Semiconductor Co.,Ltd ("HDSC").
6 *
7 * BY DOWNLOADING, INSTALLING OR USING THIS SOFTWARE, YOU AGREE TO BE BOUND
8 * BY ALL THE TERMS AND CONDITIONS OF THIS AGREEMENT.
9 *
10 * This software contains source code for use with HDSC
11 * components. This software is licensed by HDSC to be adapted only
12 * for use in systems utilizing HDSC components. HDSC shall not be
13 * responsible for misuse or illegal use of this software for devices not
14 * supported herein. HDSC is providing this software "AS IS" and will
15 * not be responsible for issues arising from incorrect user implementation
16 * of the software.
17 *
18 * Disclaimer:
19 * HDSC MAKES NO WARRANTY, EXPRESS OR IMPLIED, ARISING BY LAW OR OTHERWISE,
20 * REGARDING THE SOFTWARE (INCLUDING ANY ACOOMPANYING WRITTEN MATERIALS),
21 * ITS PERFORMANCE OR SUITABILITY FOR YOUR INTENDED USE, INCLUDING,
22 * WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, THE IMPLIED
23 * WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE OR USE, AND THE IMPLIED
24 * WARRANTY OF NONINFRINGEMENT.
25 * HDSC SHALL HAVE NO LIABILITY (WHETHER IN CONTRACT, WARRANTY, TORT,
26 * NEGLIGENCE OR OTHERWISE) FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT
27 * LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION,
28 * LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) ARISING FROM USE OR
29 * INABILITY TO USE THE SOFTWARE, INCLUDING, WITHOUT LIMITATION, ANY DIRECT,
30 * INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES OR LOSS OF DATA,
31 * SAVINGS OR PROFITS,
32 * EVEN IF Disclaimer HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
33 * YOU ASSUME ALL RESPONSIBILITIES FOR SELECTION OF THE SOFTWARE TO ACHIEVE YOUR
34 * INTENDED RESULTS, AND FOR THE INSTALLATION OF, USE OF, AND RESULTS OBTAINED
35 * FROM, THE SOFTWARE.
36 *
37 * This software may be replicated in part or whole for the licensed use,
38 * with the restriction that this Disclaimer and Copyright notice must be
39 * included with each copy of this software, whether used in part or whole,
40 * at all times.
41 */
42 /******************************************************************************/
43 /** \file adc.h
44  **
45  ** Header file for AD Converter functions
46  ** @link ADC Group Some description @endlink
47  **
48  **   - 2017-06-28 Alex    First Version
49  **
50  ******************************************************************************/
51 
52 #ifndef __ADC_H__
53 #define __ADC_H__
54 
55 
56 /******************************************************************************/
57 /* Include files                                                              */
58 /******************************************************************************/
59 #include "ddl.h"
60 #include "interrupts_hc32l136.h"
61 
62 /* C binding of definitions if building with C++ compiler */
63 #ifdef __cplusplus
64 extern "C"
65 {
66 #endif
67 
68 /**
69  ******************************************************************************
70  ** \defgroup AdcGroup AD Converter (ADC)
71   **
72  ******************************************************************************/
73 
74 //@{
75 
76 /******************************************************************************
77  * Global definitions
78  ******************************************************************************/
79 #define ADC_SCAN_CH0_EN     (0x1u)           /*!< SCAN模式使用ADC CH0 */
80 #define ADC_SCAN_CH1_EN     (0x1u<<1)        /*!< SCAN模式使用ADC CH1 */
81 #define ADC_SCAN_CH2_EN     (0x1u<<2)        /*!< SCAN模式使用ADC CH2 */
82 #define ADC_SCAN_CH3_EN     (0x1u<<3)        /*!< SCAN模式使用ADC CH3 */
83 #define ADC_SCAN_CH4_EN     (0x1u<<4)        /*!< SCAN模式使用ADC CH4 */
84 #define ADC_SCAN_CH5_EN     (0x1u<<5)        /*!< SCAN模式使用ADC CH5 */
85 #define ADC_SCAN_CH6_EN     (0x1u<<6)        /*!< SCAN模式使用ADC CH6 */
86 #define ADC_SCAN_CH7_EN     (0x1u<<7)        /*!< SCAN模式使用ADC CH7 */
87 
88 
89 /******************************************************************************
90  ** Global type definitions
91  *****************************************************************************/
92 
93  /**
94  ******************************************************************************
95  ** \brief ADC采样模式
96  *****************************************************************************/
97 typedef enum en_adc_op_mode
98 {
99     AdcSglMode  = 0u,        /*!< 单输入通道单次采样模式 */
100     AdcSCanMode     = 1u,        /*!< 多输入通道顺序扫描采样模式,多输入通道插队扫描采样模式*/
101 } en_adc_op_mode_t;
102 
103 /**
104  ******************************************************************************
105  ** \brief ADC时钟选择
106  *****************************************************************************/
107 typedef enum en_adc_clk_sel
108 {
109     AdcClkSysTDiv1  = 0u,        /*!< PCLK */
110     AdcClkSysTDiv2  = 1u,        /*!< 1/2 PCLK */
111     AdcClkSysTDiv4  = 2u,        /*!< 1/4 PCLK */
112     AdcClkSysTDiv8  = 3u,        /*!< 1/8 PCLK */
113 
114 } en_adc_clk_div_t;
115 
116 /**
117  ******************************************************************************
118  ** \brief ADC参考电压
119  *****************************************************************************/
120 typedef enum en_adc_ref_vol_sel
121 {
122     RefVolSelInBgr1p5 = 0u,        /*!<内部参考电压1.5V(SPS<=200kHz)*/
123     RefVolSelInBgr2p5 = 1u,        /*!<内部参考电压2.5V(avdd>3V,SPS<=200kHz)*/
124     RefVolSelExtern1  = 2u,        /*!<外部输入(max avdd)   PB01*/
125     RefVolSelAVDD     = 3u,        /*!<AVDD*/
126 
127 }en_adc_ref_vol_sel_t;
128 
129 /**
130  ******************************************************************************
131  ** \brief ADC采样通道选择
132  *****************************************************************************/
133 typedef enum en_adc_samp_ch_sel
134 {
135     AdcExInputCH0    =  0u,        /*!<使用通道0输入PA00*/
136     AdcExInputCH1    =  1u,        /*!<使用通道1输入PA01*/
137     AdcExInputCH2    =  2u,        /*!<使用通道2输入PA02*/
138     AdcExInputCH3    =  3u,        /*!<使用通道3输入PA03*/
139     AdcExInputCH4    =  4u,        /*!<使用通道4输入PA04*/
140     AdcExInputCH5    =  5u,        /*!<使用通道5输入PA05*/
141     AdcExInputCH6    =  6u,        /*!<使用通道6输入PA06*/
142     AdcExInputCH7    =  7u,        /*!<使用通道7输入PA07*/
143     AdcExInputCH8    =  8u,        /*!<使用通道8输入PB00*/
144     AdcExInputCH9    =  9u,        /*!<使用通道8输入PB01*/
145     AdcExInputCH10   =  10u,       /*!<使用通道8输入PC00*/
146     AdcExInputCH11   =  11u,       /*!<使用通道1输入PC01*/
147     AdcExInputCH12   =  12u,       /*!<使用通道2输入PC02*/
148     AdcExInputCH13   =  13u,       /*!<使用通道3输入PC03*/
149     AdcExInputCH14   =  14u,       /*!<使用通道4输入PC04*/
150     AdcExInputCH15   =  15u,       /*!<使用通道5输入PC05*/
151     AdcExInputCH16   =  16u,       /*!<使用通道6输入PB02*/
152     AdcExInputCH17   =  17u,       /*!<使用通道7输入PB10*/
153     AdcExInputCH18   =  18u,       /*!<使用通道8输入PB11*/
154     AdcExInputCH19   =  19u,       /*!<使用通道8输入PB12*/
155     AdcExInputCH20   =  20u,       /*!<使用通道7输入PB13*/
156     AdcExInputCH21   =  21u,       /*!<使用通道8输入PB14*/
157     AdcExInputCH22   =  22u,       /*!<使用通道8输入PB15*/
158     AdcExInputCH23   =  23u,       /*!<使用通道8输入PC06*/
159     AdcOPA0Input     =  24u,       /*!<使用通道8输入OPA0*/
160     AdcOPA1Input     =  25u,       /*!<使用通道8输入OPA1*/
161     AdcOPA2Input     =  26u,       /*!<使用通道8输入OPA2*/
162     AdcAVccDiV3Input =  27u,       /*!<使用1/3 AVCC(必须使用输入增益)*/
163     AdcAiTsInput     =  28u,       /*!<使用BGR_TS(必须使用输入增益)*/
164     AdcVref1P2Input  =  29u,       /*!<使用Vref1P2(必须使用输入增益)*/
165 
166 }en_adc_samp_ch_sel_t;
167 
168 /**
169  ******************************************************************************
170  ** \brief ADC采样周期数选择
171  *****************************************************************************/
172 typedef enum en_adc_samp_time_sel
173 {
174     AdcSampTime4Clk  =  0u,        /*!<4个采样时钟*/
175     AdcSampTime6Clk  =  1u,        /*!<6个采样时钟*/
176     AdcSampTime8Clk  =  2u,        /*!<8个采样时钟*/
177     AdcSampTime12Clk =  3u,        /*!<12个采样时钟*/
178 
179 }en_adc_samp_time_sel_t;
180 
181 /**
182  ******************************************************************************
183  ** \brief ADC周边模块反射源选择
184  *****************************************************************************/
185 typedef enum en_adc_trig_sel
186 {
187     AdcTrigTimer0     =  0u,         /*!<选择timer0中断源,自动触发ADC采样*/
188     AdcTrigTimer1     =  1u,         /*!<选择timer1中断源,自动触发ADC采样*/
189     AdcTrigTimer2     =  2u,         /*!<选择timer2中断源,自动触发ADC采样*/
190     AdcTrigTimer3     =  3u,         /*!<选择timer3中断源,自动触发ADC采样*/
191     AdcTrigTimer4     =  4u,         /*!<选择timer4中断源,自动触发ADC采样*/
192     AdcTrigTimer5     =  5u,         /*!<选择timer5中断源,自动触发ADC采样*/
193     AdcTrigTimer6     =  6u,         /*!<选择timer6中断源,自动触发ADC采样*/
194     AdcTrigUart0      =  7u,         /*!<选择uart0中断源,自动触发ADC采样*/
195     AdcTrigUart1      =  8u,         /*!<选择uart1中断源,自动触发ADC采样*/
196     AdcTrigLpuart0    =  9u,         /*!<选择lpuart0中断源,自动触发ADC采样*/
197     AdcTrigLpuart1    =  10u,        /*!<选择lpuart1中断源,自动触发ADC采样*/
198     AdcTrigVC0        =  11u,        /*!<选择VC0中断源,自动触发ADC采样*/
199     AdcTrigVC1        =  12u,        /*!<选择VC1中断源,自动触发ADC采样*/
200     AdcTrigRTC        =  13u,        /*!<选择RTC中断源,自动触发ADC采样*/
201     AdcTrigPCA        =  14u,        /*!<选择PCA中断源,自动触发ADC采样*/
202     AdcTrigSPI0       =  15u,        /*!<选择SPI0中断源,自动触发ADC采样*/
203     AdcTrigSPI1       =  16u,        /*!<选择SPI1中断源,自动触发ADC采样*/
204     AdcTrigDMA        =  17u,        /*!<选择DMA中断源,自动触发ADC采样*/
205     AdcTrigPA03       =  18u,        /*!<选择PA03中断源,自动触发ADC采样*/
206     AdcTrigPB03       =  19u,        /*!<选择PB03中断源,自动触发ADC采样*/
207     AdcTrigPC03       =  20u,        /*!<选择PC03中断源,自动触发ADC采样*/
208     AdcTrigPD03       =  21u,        /*!<选择PD03中断源,自动触发ADC采样*/
209     AdcTrigPA07       =  22u,        /*!<选择PA07中断源,自动触发ADC采样*/
210     AdcTrigPB07       =  23u,        /*!<选择PB07中断源,自动触发ADC采样*/
211     AdcTrigPC07       =  24u,        /*!<选择PC07中断源,自动触发ADC采样*/
212     AdcTrigPD07       =  25u,        /*!<选择PD07中断源,自动触发ADC采样*/
213     AdcTrigPA11       =  26u,        /*!<选择PA11中断源,自动触发ADC采样*/
214     AdcTrigPB11       =  27u,        /*!<选择PB11中断源,自动触发ADC采样*/
215     AdcTrigPC11       =  28u,        /*!<选择PC11中断源,自动触发ADC采样*/
216     AdcTrigPA15       =  29u,        /*!<选择PA15中断源,自动触发ADC采样*/
217     AdcTrigPB15       =  30u,        /*!<选择PB15中断源,自动触发ADC采样*/
218     AdcTrigPC15       =  31u,        /*!<选择PC15中断源,自动触发ADC采样*/
219 }en_adc_trig_sel_t;
220 
221 /**
222  ******************************************************************************
223  ** \brief ADC外部触发源寄存器选择
224  *****************************************************************************/
225 typedef enum en_adc_ext_trig_sel
226 {
227     AdcExtTrig0     =  0u,         /*!<单次及顺序扫描转换 外部触发源选择寄存器*/
228     AdcExtTrig1     =  1u,         /*!<插队扫描转换 外部触发源选择寄存器*/
229 }en_adc_ext_trig_sel_t;
230 
231 /**
232  ******************************************************************************
233  ** \brief ADC顺序转换通道
234  *****************************************************************************/
235 typedef enum en_adc_sqr_chmux
236 {
237     CH0MUX     =  0u,         /*!<转换通道0*/
238     CH1MUX     =  1u,         /*!<转换通道1*/
239     CH2MUX     =  2u,         /*!<转换通道2*/
240     CH3MUX     =  3u,         /*!<转换通道3*/
241     CH4MUX     =  4u,         /*!<转换通道4*/
242     CH5MUX     =  5u,         /*!<转换通道5*/
243     CH6MUX     =  6u,         /*!<转换通道6*/
244     CH7MUX     =  7u,         /*!<转换通道7*/
245     CH8MUX     =  8u,         /*!<转换通道8*/
246     CH9MUX     =  9u,         /*!<转换通道9*/
247     CH10MUX    =  10u,        /*!<转换通道10*/
248     CH11MUX    =  11u,        /*!<转换通道11*/
249     CH12MUX    =  12u,        /*!<转换通道12*/
250     CH13MUX    =  13u,        /*!<转换通道13*/
251     CH14MUX    =  14u,        /*!<转换通道14*/
252     CH15MUX    =  15u,        /*!<转换通道15*/
253 }en_adc_sqr_chmux_t;
254 /**
255  ******************************************************************************
256  ** \brief ADC插队转换通道
257  *****************************************************************************/
258 typedef enum en_adc_jqr_chmux
259 {
260     JQRCH0MUX     =  0u,         /*!<转换通道0*/
261     JQRCH1MUX     =  1u,         /*!<转换通道1*/
262     JQRCH2MUX     =  2u,         /*!<转换通道2*/
263     JQRCH3MUX     =  3u,         /*!<转换通道3*/
264 }en_adc_jqr_chmux_t;
265 /**
266  ******************************************************************************
267  ** \brief ADC结果对齐方式
268  *****************************************************************************/
269 typedef enum en_adc_align
270 {
271      AlignRight  = 0u,
272      AlignLeft = 1u,
273 }en_adc_align_t;
274 /******************************************************************************
275  * Extern type definitions ('typedef')                                        *
276  ******************************************************************************/
277 
278 /**
279  ******************************************************************************
280  ** \brief  ADC配置
281  *****************************************************************************/
282 typedef struct stc_adc_cfg
283 {
284     /*! ADC操作模式*/
285     en_adc_op_mode_t enAdcOpMode;
286 
287     /*! ADC时钟选择*/
288     en_adc_clk_div_t  enAdcClkDiv;
289 
290     /*! ADC采样时间*/
291     en_adc_samp_time_sel_t  enAdcSampTimeSel;
292 
293     /*! ADC参考电压*/
294     en_adc_ref_vol_sel_t    enAdcRefVolSel;
295 
296     /*! ADC输入增益使能*/
297     boolean_t    bAdcInBufEn;
298 }stc_adc_cfg_t;
299 
300  /**
301  ******************************************************************************
302  ** \brief  ADC DMA触发源寄存器配置
303  *****************************************************************************/
304 typedef enum en_adc_dmatrig
305 {
306    /*!插队扫描触发DMA读取控制*/
307   DmaJqr = 0,
308    /*!顺序扫描触发DMA读取控制*/
309   DmaSqr = 1
310 }en_adc_dmatrig_t;
311  /**
312  ******************************************************************************
313  ** \brief  ADC外部触发源寄存器配置
314  *****************************************************************************/
315 typedef struct stc_adc_ext_trig_cfg
316 {
317     /*! 外部触发源寄存器选择*/
318     en_adc_ext_trig_sel_t   enAdcExtTrigRegSel;
319 
320     /*! ADC单次及顺序转换触发选择*/
321     en_adc_trig_sel_t       enAdcTrig0Sel;
322 
323     /*! ADC插队转换触发选择*/
324     en_adc_trig_sel_t       enAdcTrig1Sel;
325 
326 }stc_adc_ext_trig_cfg_t;
327 
328 /**
329  ******************************************************************************
330  ** \brief  ADC中断配置
331  *****************************************************************************/
332 typedef struct stc_adc_irq
333 {
334     /*!<ADC插队扫描完成中断*/
335     boolean_t  bAdcJQRIrq;
336     /*!<ADC顺序扫描完成中断*/
337     boolean_t  bAdcSQRIrq;
338     /*! ADC区间中断*/
339     boolean_t  bAdcRegCmp;
340     /*! ADC上超出区间中断*/
341     boolean_t  bAdcHhtCmp;
342     /*! ADC下超出区间中断*/
343     boolean_t  bAdcLltCmp;
344     /*!<ADC单次转换完成中断*/
345     boolean_t  bAdcIrq;
346 }stc_adc_irq_t;
347 
348 typedef struct stc_adc_threshold_cfg
349 {
350 
351     boolean_t bAdcRegCmp ;      /*!ADC区间使能*/
352 
353     boolean_t bAdcHhtCmp ;     /*!ADC上超出区间使能*/
354 
355     boolean_t bAdcLltCmp ;     /*!ADC下超出区间使能*/
356 
357     uint32_t u32AdcRegHighThd; /*!ADC下超出区间*/
358 
359     uint32_t u32AdcRegLowThd; /*!ADC下超出区间*/
360 
361     en_adc_samp_ch_sel_t enThCh; /*!阈值比较通道选择*/
362 
363 }stc_adc_threshold_cfg_t;
364 /**
365  ******************************************************************************
366  ** \brief  ADC中断回调函数
367  *****************************************************************************/
368 typedef struct stc_adc_irq_calbakfn_pt
369 {
370     /*! ADC插队扫描中断回调函数指针*/
371     func_ptr_t  pfnAdcJQRIrq;
372     /*! ADC顺序扫描中断回调函数指针*/
373     func_ptr_t  pfnAdcSQRIrq;
374     /*! ADC区间中断回调函数指针*/
375     func_ptr_t  pfnAdcRegIrq;
376     /*! ADC上超出区间中断回调函数指针*/
377     func_ptr_t  pfnAdcHhtIrq;
378     /*! ADC下超出区间中断回调函数指针*/
379     func_ptr_t  pfnAdcLltIrq;
380     /*! ADC单次转换中断回调函数指针*/
381     func_ptr_t  pfnAdcIrq;
382 }stc_adc_irq_calbakfn_pt_t;
383 
384 /******************************************************************************
385  * Global variable definitions ('extern')
386  ******************************************************************************/
387 
388 /******************************************************************************
389  * Global function prototypes (definition in C source)
390  ******************************************************************************/
391 //ADC initialization
392 en_result_t Adc_Init(stc_adc_cfg_t* pstcAdcConfig);
393 //ADC ExtTrig Register config
394 en_result_t Adc_ExtTrigCfg(stc_adc_ext_trig_cfg_t* pstcExtTrigConfig);
395 //ADC de-init
396 void Adc_DeInit(void);
397 
398 //ADC conversion start
399 void Adc_SGL_Start(void);
400 //ADC conversion stop
401 void Adc_SGL_Stop(void);
402 
403 //ADC SQR conversion start
404 void Adc_SQR_Start(void);
405 //ADC SQR conversion stop
406 void Adc_SQR_Stop(void);
407 
408 //ADC JQR conversion start
409 void Adc_JQR_Start(void);
410 //ADC JQR conversion stop
411 void Adc_JQR_Stop(void);
412 
413 //ADC conversion enable
414 void Adc_Enable(void);
415 //ADC conversion disable
416 void Adc_Disable(void);
417 
418 //ADC single covert mode configuration
419 en_result_t Adc_ConfigSglMode(stc_adc_cfg_t* pstcAdcConfig);
420 //ADC SQR mode configuration
421 en_result_t Adc_ConfigSqrMode(stc_adc_cfg_t* pstcAdcConfig, uint8_t u8AdcSampCnt,boolean_t  bAdcResultAccEn);
422 //ADC JQR mode configuration
423 en_result_t Adc_ConfigJqrMode(stc_adc_cfg_t* pstcAdcConfig, uint8_t u8AdcSampCnt,boolean_t  bAdcResultAccEn);
424 
425 //ADC single covert mode channel configuraion
426 en_result_t Adc_ConfigSglChannel( en_adc_samp_ch_sel_t enstcAdcSampCh);
427 //ADC SQR mode channel configuraion
428 en_result_t Adc_ConfigSqrChannel(en_adc_sqr_chmux_t enstcAdcSqrChMux, en_adc_samp_ch_sel_t enstcAdcSampCh);
429 //ADC JQR mode channel configuraion
430 en_result_t Adc_ConfigJqrChannel(en_adc_jqr_chmux_t enstcAdcJqrChMux, en_adc_samp_ch_sel_t enstcAdcSampCh);
431 //ADC DMA Trigger
432 en_result_t Adc_ConfigDmaTrig(en_adc_dmatrig_t enAdcDmaTrig);
433 //ADC IRQ configuration
434 void Adc_ConfigIrq(stc_adc_irq_t* pstcAdcIrqCfg,
435                    stc_adc_irq_calbakfn_pt_t* pstcAdcIrqCalbaks);
436 //ADC enable IRQ
437 void Adc_EnableIrq(void);
438 //ADC disable IRQ
439 void Adc_DisableIrq(void);
440 //ADC enable threshold compare
441 void Adc_ThresholdCfg(stc_adc_threshold_cfg_t* stcAdcThrCfg);
442 //ADC get IRQ state
443 void Adc_GetIrqState(stc_adc_irq_t* pstcAdcIrqState);
444 //ADC clear IRQ states
445 void Adc_ClrSglIrqState(void);
446 void Adc_ClrJqrIrqState(void);
447 void Adc_ClrSqrIrqState(void);
448 void Adc_ClrRegIrqState(void);
449 void Adc_ClrHtIrqState(void);
450 void Adc_ClrLtIrqState(void);
451 
452 //查询ADC单次转换状态
453 boolean_t Adc_PollSglBusyState(void);
454 //查询ADC顺序扫描转换转换状态
455 boolean_t Adc_PollSqrBusyState(void);
456 //查询ADC插队扫描转换状态
457 boolean_t Adc_PollJqrBusyState(void);
458 //查询ADC结果比较区间状态
459 boolean_t Adc_PollRegBusyState(void);
460 //查询ADC结果比较上阈值状态
461 boolean_t Adc_PollHTBusyState(void);
462 //查询ADC结果比较下阈值状态
463 boolean_t Adc_PollLtBusyState(void);
464 //获取单次转换采样值
465 en_result_t Adc_GetSglResult(uint16_t* pu16AdcResult);
466 //获取顺序扫描采样值
467 en_result_t Adc_GetSqrResult(uint16_t* pu16AdcResult,uint8_t SQRChannelIndex);
468 //获取插队扫描采样值
469 en_result_t Adc_GetJqrResult(uint16_t* pu16AdcResult,uint8_t JQRChannelIndex);
470 //获取累加采样值
471 en_result_t Adc_GetAccResult(uint32_t* pu32AdcAccResult);
472 //clear ADC accumulated result
473 void Adc_ClrAccResult(void);
474 //设置参考电压
475 en_result_t Adc_SetVref(en_adc_ref_vol_sel_t enAdcRefVolSel);
476 //设置结果对齐方式
477 en_result_t Adc_SetAlign(en_adc_align_t enAlign);
478 //@}
479 #ifdef __cplusplus
480 }
481 #endif
482 
483 #endif /* __ADC_H__ */
484 /******************************************************************************/
485 /* EOF (not truncated)                                                        */
486 /******************************************************************************/
487