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 
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_mode
98 {
99     AdcSglMode  = 0u,           /*!< 单输入通道单次转换模式 */
100     AdcScanMode = 1u,           /*!< 多输入通道顺序/插队扫描转换模式*/
101 }en_adc_mode_t;
102 
103 /**
104  ******************************************************************************
105  ** \brief ADC时钟分频选择
106  *****************************************************************************/
107 typedef enum en_adc_clk_sel
108 {
109     AdcMskClkDiv1  = 0u<<2,        /*!< PCLK */
110     AdcMskClkDiv2  = 1u<<2,        /*!< 1/2 PCLK */
111     AdcMskClkDiv4  = 2u<<2,        /*!< 1/4 PCLK */
112     AdcMskClkDiv8  = 3u<<2,        /*!< 1/8 PCLK */
113 } en_adc_clk_div_t;
114 
115 /**
116  ******************************************************************************
117  ** \brief ADC参考电压
118  *****************************************************************************/
119 typedef enum en_adc_ref_vol_sel
120 {
121     AdcMskRefVolSelInBgr1p5 = 0u<<9,        /*!<内部参考电压1.5V(SPS<=200kHz)*/
122     AdcMskRefVolSelInBgr2p5 = 1u<<9,        /*!<内部参考电压2.5V(avdd>3V,SPS<=200kHz)*/
123     AdcMskRefVolSelExtern1  = 2u<<9,        /*!<外部输入(max avdd)   PB01*/
124     AdcMskRefVolSelAVDD     = 3u<<9,        /*!<AVDD*/
125 }en_adc_ref_vol_sel_t;
126 
127 /**
128  ******************************************************************************
129  ** \brief ADC转换通道选择
130  *****************************************************************************/
131 typedef enum en_adc_samp_ch_sel
132 {
133     AdcExInputCH0    =  0u,        /*!<使用PA00*/
134     AdcExInputCH1    =  1u,        /*!<使用PA01*/
135     AdcExInputCH2    =  2u,        /*!<使用PA02*/
136     AdcExInputCH3    =  3u,        /*!<使用PA03*/
137     AdcExInputCH4    =  4u,        /*!<使用PA04*/
138     AdcExInputCH5    =  5u,        /*!<使用PA05*/
139     AdcExInputCH6    =  6u,        /*!<使用PA06*/
140     AdcExInputCH7    =  7u,        /*!<使用PA07*/
141     AdcExInputCH8    =  8u,        /*!<使用PB00*/
142     AdcExInputCH9    =  9u,        /*!<使用PB01*/
143     AdcExInputCH10   =  10u,       /*!<使用PC00*/
144     AdcExInputCH11   =  11u,       /*!<使用PC01*/
145     AdcExInputCH12   =  12u,       /*!<使用PC02*/
146     AdcExInputCH13   =  13u,       /*!<使用PC03*/
147     AdcExInputCH14   =  14u,       /*!<使用PC04*/
148     AdcExInputCH15   =  15u,       /*!<使用PC05*/
149     AdcExInputCH16   =  16u,       /*!<使用PB02*/
150     AdcExInputCH17   =  17u,       /*!<使用PB10*/
151     AdcExInputCH18   =  18u,       /*!<使用PB11*/
152     AdcExInputCH19   =  19u,       /*!<使用PB12*/
153     AdcExInputCH20   =  20u,       /*!<使用PB13*/
154     AdcExInputCH21   =  21u,       /*!<使用PB14*/
155     AdcExInputCH22   =  22u,       /*!<使用PB15*/
156     AdcExInputCH23   =  23u,       /*!<使用PE15*/
157     AdcExInputCH24   =  24u,       /*!<使用PE14*/
158     AdcExInputCH25   =  25u,       /*!<使用PE13*/
159 
160     AdcDacInput      =  26u,       /*!<使用DAC输出(必须使用输入增益)*/
161     AdcAVccdiv3Input =  27u,       /*!<使用1/3 AVCC(必须使用输入增益)*/
162     AdcAiTsInput     =  28u,       /*!<使用内置温度传感器BGR_TS(必须使用输入增益)*/
163     AdcVref1_2Input  =  29u,       /*!<使用内部基准1.2V(必须使用输入增益)*/
164 
165 }en_adc_samp_ch_sel_t;
166 
167  /**
168  ******************************************************************************
169  ** \brief ADC输入信号放大器控制
170  *****************************************************************************/
171 typedef enum en_adc_op_buf
172 {
173     AdcMskBufEnable  = 1u<<11,          /*!< 打开放大器BUF */
174     AdcMskBufDisable = 0u,              /*!< 关闭放大器BUF */
175 } en_adc_op_buf_t;
176 
177 /**
178  ******************************************************************************
179  ** \brief ADC采样周期选择
180  *****************************************************************************/
181 typedef enum en_adc_samp_cycle_sel
182 {
183     AdcMskSampCycle4Clk  =  0u<<12,        /*!<4个采样时钟*/
184     AdcMskSampCycle6Clk  =  1u<<12,        /*!<6个采样时钟*/
185     AdcMskSampCycle8Clk  =  2u<<12,        /*!<8个采样时钟*/
186     AdcMskSampCycle12Clk =  3u<<12,        /*!<12个采样时钟*/
187 
188 }en_adc_samp_cycle_sel_t;
189 
190  /**
191  ******************************************************************************
192  ** \brief ADC内部参考电压使能控制
193  *****************************************************************************/
194 typedef enum en_adc_in_ref
195 {
196     AdcMskInRefEnable  = 1u<<14,          /*!< 内部参考电压使能 */
197     AdcMskInRefDisable = 0u,              /*!< 内部参考电压关闭 */
198 }en_adc_in_ref_t;
199 
200 /**
201  ******************************************************************************
202  ** \brief ADC周边模块反射源选择
203  *****************************************************************************/
204 typedef enum en_adc_trig_sel
205 {
206     AdcMskTrigTimer0     =  1u<<0,         /*!<选择timer0中断源,自动触发ADC采样*/
207     AdcMskTrigTimer1     =  1u<<1,         /*!<选择timer1中断源,自动触发ADC采样*/
208     AdcMskTrigTimer2     =  1u<<2,         /*!<选择timer2中断源,自动触发ADC采样*/
209     AdcMskTrigTimer3     =  1u<<3,         /*!<选择timer3中断源,自动触发ADC采样*/
210     AdcMskTrigTimer4     =  1u<<4,         /*!<选择timer4中断源,自动触发ADC采样*/
211     AdcMskTrigTimer5     =  1u<<5,         /*!<选择timer5中断源,自动触发ADC采样*/
212     AdcMskTrigTimer6     =  1u<<6,         /*!<选择timer6中断源,自动触发ADC采样*/
213     AdcMskTrigUart0      =  1u<<7,         /*!<选择uart0中断源,自动触发ADC采样*/
214     AdcMskTrigUart1      =  1u<<8,         /*!<选择uart1中断源,自动触发ADC采样*/
215     AdcMskTrigLpuart0    =  1u<<9,         /*!<选择lpuart0中断源,自动触发ADC采样*/
216     AdcMskTrigLpuart1    =  1u<<10,        /*!<选择lpuart1中断源,自动触发ADC采样*/
217     AdcMskTrigVC0        =  1u<<11,        /*!<选择VC0中断源,自动触发ADC采样*/
218     AdcMskTrigVC1        =  1u<<12,        /*!<选择VC1中断源,自动触发ADC采样*/
219     AdcMskTrigRTC        =  1u<<13,        /*!<选择RTC中断源,自动触发ADC采样*/
220     AdcMskTrigPCA        =  1u<<14,        /*!<选择PCA中断源,自动触发ADC采样*/
221     AdcMskTrigSPI0       =  1u<<15,        /*!<选择SPI0中断源,自动触发ADC采样*/
222     AdcMskTrigSPI1       =  1u<<16,        /*!<选择SPI1中断源,自动触发ADC采样*/
223     AdcMskTrigDMA        =  1u<<17,        /*!<选择DMA中断源,自动触发ADC采样*/
224     AdcMskTrigPA03       =  1u<<18,        /*!<选择PA03中断源,自动触发ADC采样*/
225     AdcMskTrigPB03       =  1u<<19,        /*!<选择PB03中断源,自动触发ADC采样*/
226     AdcMskTrigPC03       =  1u<<20,        /*!<选择PC03中断源,自动触发ADC采样*/
227     AdcMskTrigPD03       =  1u<<21,        /*!<选择PD03中断源,自动触发ADC采样*/
228     AdcMskTrigPA07       =  1u<<22,        /*!<选择PA07中断源,自动触发ADC采样*/
229     AdcMskTrigPB07       =  1u<<23,        /*!<选择PB07中断源,自动触发ADC采样*/
230     AdcMskTrigPC07       =  1u<<24,        /*!<选择PC07中断源,自动触发ADC采样*/
231     AdcMskTrigPD07       =  1u<<25,        /*!<选择PD07中断源,自动触发ADC采样*/
232     AdcMskTrigPA11       =  1u<<26,        /*!<选择PA11中断源,自动触发ADC采样*/
233     AdcMskTrigPB11       =  1u<<27,        /*!<选择PB11中断源,自动触发ADC采样*/
234     AdcMskTrigPC11       =  1u<<28,        /*!<选择PC11中断源,自动触发ADC采样*/
235     AdcMskTrigPA15       =  1u<<29,        /*!<选择PA15中断源,自动触发ADC采样*/
236     AdcMskTrigPB15       =  1u<<30,        /*!<选择PB15中断源,自动触发ADC采样*/
237     AdcMskTrigPC15       =  1u<<31,        /*!<选择PC15中断源,自动触发ADC采样*/
238 }en_adc_trig_sel_t;
239 
240 /**
241  ******************************************************************************
242  ** \brief ADC外部触发源寄存器选择
243  *****************************************************************************/
244 typedef enum en_adc_ext_trig_sel
245 {
246     AdcExtTrig0     =  0u,         /*!<单次及顺序扫描转换 外部触发源选择寄存器*/
247     AdcExtTrig1     =  1u,         /*!<插队扫描转换 外部触发源选择寄存器*/
248 }en_adc_ext_trig_sel_t;
249 
250 /**
251  ******************************************************************************
252  ** \brief ADC顺序转换通道
253  *****************************************************************************/
254 typedef enum en_adc_sqr_chmux
255 {
256     AdcSQRCH0MUX     =  0u,         /*!<顺序扫描模式转换通道0*/
257     AdcSQRCH1MUX     =  1u,         /*!<顺序扫描模式转换通道1*/
258     AdcSQRCH2MUX     =  2u,         /*!<顺序扫描模式转换通道2*/
259     AdcSQRCH3MUX     =  3u,         /*!<顺序扫描模式转换通道3*/
260     AdcSQRCH4MUX     =  4u,         /*!<顺序扫描模式转换通道4*/
261     AdcSQRCH5MUX     =  5u,         /*!<顺序扫描模式转换通道5*/
262     AdcSQRCH6MUX     =  6u,         /*!<顺序扫描模式转换通道6*/
263     AdcSQRCH7MUX     =  7u,         /*!<顺序扫描模式转换通道7*/
264     AdcSQRCH8MUX     =  8u,         /*!<顺序扫描模式转换通道8*/
265     AdcSQRCH9MUX     =  9u,         /*!<顺序扫描模式转换通道9*/
266     AdcSQRCH10MUX    =  10u,        /*!<顺序扫描模式转换通道10*/
267     AdcSQRCH11MUX    =  11u,        /*!<顺序扫描模式转换通道11*/
268     AdcSQRCH12MUX    =  12u,        /*!<顺序扫描模式转换通道12*/
269     AdcSQRCH13MUX    =  13u,        /*!<顺序扫描模式转换通道13*/
270     AdcSQRCH14MUX    =  14u,        /*!<顺序扫描模式转换通道14*/
271     AdcSQRCH15MUX    =  15u,        /*!<顺序扫描模式转换通道15*/
272 }en_adc_sqr_chmux_t;
273 
274 /**
275  ******************************************************************************
276  ** \brief ADC插队转换通道
277  *****************************************************************************/
278 typedef enum en_adc_jqr_chmux
279 {
280     AdcJQRCH0MUX     =  0u,         /*!<转换通道0*/
281     AdcJQRCH1MUX     =  1u,         /*!<转换通道1*/
282     AdcJQRCH2MUX     =  2u,         /*!<转换通道2*/
283     AdcJQRCH3MUX     =  3u,         /*!<转换通道3*/
284 }en_adc_jqr_chmux_t;
285 /**
286  ******************************************************************************
287  ** \brief ADC结果对齐方式
288  *****************************************************************************/
289 typedef enum en_adc_align
290 {
291      AdcAlignRight  = 0u,
292      AdcAlignLeft   = 1u,
293 }en_adc_align_t;
294 
295 /**
296  ******************************************************************************
297  ** \brief ADC转换结果自动累加功能
298  *****************************************************************************/
299 typedef enum en_adc_result_acc
300 {
301      AdcResultAccEnable  = 1u,
302      AdcResultAccDisable = 0u,
303 }en_adc_result_acc_t;
304 
305 /**
306  ******************************************************************************
307  ** \brief ADC中断类型定义
308  *****************************************************************************/
309 typedef enum en_adc_irq_type
310 {
311     AdcMskIrqJqr =  1u<<5,        /*!<ADC插队扫描转换完成*/
312     AdcMskIrqSqr =  1u<<4,        /*!<ADC顺序扫描转换完成*/
313     AdcMskIrqReg =  1u<<3,        /*!<ADC转换结果比较区间内*/
314     AdcMskIrqHt  =  1u<<2,        /*!<ADC转换结果高于HT*/
315     AdcMskIrqLt  =  1u<<1,        /*!<ADC转换结果低于LT*/
316     AdcMskIrqSgl =  1u<<0,        /*!<ADC单次转换完成*/
317 
318 }en_adc_irq_type_t;
319 
320 
321 /******************************************************************************
322  ** Extern type definitions ('typedef')
323  ******************************************************************************/
324 
325 /**
326  ******************************************************************************
327  ** \brief  ADC初始化配置结构体
328  *****************************************************************************/
329 typedef struct stc_adc_cfg
330 {
331     en_adc_mode_t           enAdcMode;                  /*! ADC转换模式*/
332 
333     en_adc_clk_div_t        enAdcClkDiv;                /*! ADC时钟选择*/
334     en_adc_samp_cycle_sel_t enAdcSampCycleSel;          /*! ADC采样周期选择*/
335     en_adc_ref_vol_sel_t    enAdcRefVolSel;             /*! ADC参考电压选择*/
336     en_adc_op_buf_t         enAdcOpBuf;                 /*! ADC输入信号放大器控制使能*/
337     en_adc_in_ref_t         enInRef;                    /*! ADC内部参考电压使能*/
338 
339     en_adc_align_t          enAdcAlign;                 /*! ADC转换结果对齐控制*/
340 }stc_adc_cfg_t;
341 
342 
343 /**
344  ******************************************************************************
345  ** \brief  ADC顺序扫描模式配置结构体
346  *****************************************************************************/
347 typedef struct stc_adc_sqr_cfg
348 {
349     uint8_t                 u8SqrCnt;                   /*! ADC顺序扫描转换次数*/
350     en_adc_result_acc_t     enResultAcc;                /*! ADC转换结果自动累加功能*/
351     boolean_t               bSqrDmaTrig;                /*! ADC顺序扫描转换完成DMA触发使能*/
352 }stc_adc_sqr_cfg_t;
353 
354 /**
355  ******************************************************************************
356  ** \brief  ADC插队扫描模式配置结构体
357  *****************************************************************************/
358 typedef struct stc_adc_jqr_cfg
359 {
360     uint8_t                 u8JqrCnt;                   /*! ADC顺序扫描转换次数*/
361     boolean_t               bJqrDmaTrig;                /*! ADC插队扫描转换完成DMA触发使能*/
362 }stc_adc_jqr_cfg_t;
363 
364 
365 /**
366  ******************************************************************************
367  ** \brief  ADC比较功能配置结构体
368  *****************************************************************************/
369 typedef struct stc_adc_threshold_cfg
370 {
371     boolean_t bAdcRegCmp ;                  /*!ADC区间使能*/
372     boolean_t bAdcHtCmp ;                   /*!ADC上超出区间使能*/
373     boolean_t bAdcLtCmp ;                   /*!ADC下超出区间使能*/
374 
375     uint32_t u32AdcHighThd;                 /*!ADC比较上阈值*/
376     uint32_t u32AdcLowThd;                  /*!ADC比较下阈值*/
377 
378     en_adc_samp_ch_sel_t    enSampChSel;    /*!ADC采样通道选择*/
379 
380 }stc_adc_threshold_cfg_t;
381 
382 
383 /******************************************************************************
384  * Global variable definitions ('extern')
385  ******************************************************************************/
386 
387 /******************************************************************************
388  * Global function prototypes (definition in C source)
389  ******************************************************************************/
390 //ADC 初始化
391 en_result_t Adc_Init(stc_adc_cfg_t* pstcAdcCfg);
392 
393 //ADC 中断使能
394 void Adc_EnableIrq(void);
395 //ADC 中断禁止
396 void Adc_DisableIrq(void);
397 
398 //ADC 中断/采样完成状态获取
399 boolean_t Adc_GetIrqStatus(en_adc_irq_type_t enAdcIrq);
400 //ADC 中断/采样完成状态清除
401 void Adc_ClrIrqStatus(en_adc_irq_type_t enAdcIrq);
402 
403 //ADC 使能
404 void Adc_Enable(void);
405 //ADC 禁止
406 void Adc_Disable(void);
407 
408 //ADC 顺序扫描模式配置
409 en_result_t Adc_SqrModeCfg(stc_adc_sqr_cfg_t* pstcAdcSqrCfg);
410 //ADC 插队扫描模式配置
411 en_result_t Adc_JqrModeCfg(stc_adc_jqr_cfg_t* pstcAdcJqrCfg);
412 
413 //ADC Sgl 单次转换模式通道选择配置
414 en_result_t Adc_CfgSglChannel( en_adc_samp_ch_sel_t enstcAdcSampCh);
415 //ADC SQR 顺序扫描转换模式通道选择配置
416 en_result_t Adc_CfgSqrChannel(en_adc_sqr_chmux_t enstcAdcSqrChMux, en_adc_samp_ch_sel_t enstcAdcSampCh);
417 //ADC JQR 插队扫描转换模式通道选择配置
418 en_result_t Adc_CfgJqrChannel(en_adc_jqr_chmux_t enstcAdcJqrChMux, en_adc_samp_ch_sel_t enstcAdcSampCh);
419 
420 ///<ADC 单次转换外部触发源配置
421 void Adc_SglExtTrigCfg(en_adc_trig_sel_t enAdcTrigSel, boolean_t bValue);
422 ///<ADC 顺序扫描转换外部触发源配置
423 void Adc_SqrExtTrigCfg(en_adc_trig_sel_t enAdcTrigSel, boolean_t bValue);
424 ///<ADC 插队扫描转换外部触发源配置
425 void Adc_JqrExtTrigCfg(en_adc_trig_sel_t enAdcTrigSel, boolean_t bValue);
426 
427 //ADC 阈值比较功能配置
428 void Adc_ThresholdCfg(stc_adc_threshold_cfg_t* pstcAdcThrCfg);
429 
430 //ADC 单次转换模式启动
431 void Adc_SGL_Start(void);
432 //ADC 单次转换模式停止
433 void Adc_SGL_Stop(void);
434 
435 //ADC 单次转换模式一直转换模式启动
436 void Adc_SGL_Always_Start(void);
437 //ADC 单次转换模式一直转换模式停止
438 void Adc_SGL_Always_Stop(void);
439 
440 //ADC 顺序扫描转换模式启动
441 void Adc_SQR_Start(void);
442 //ADC 顺序扫描转换模式停止
443 void Adc_SQR_Stop(void);
444 
445 //ADC 插队扫描转换模式启动
446 void Adc_JQR_Start(void);
447 //ADC 插队扫描转换模式停止
448 void Adc_JQR_Stop(void);
449 
450 //获取单次转换采样值
451 uint32_t Adc_GetSglResult(void);
452 //获取顺序扫描采样值
453 uint32_t Adc_GetSqrResult(en_adc_sqr_chmux_t enstcAdcSqrChMux);
454 //获取插队扫描采样值
455 uint32_t Adc_GetJqrResult(en_adc_jqr_chmux_t enstcAdcJqrChMux);
456 
457 //获取累加采样值
458 uint32_t Adc_GetAccResult(void);
459 //clear ADC 累加寄存器结果清除
460 void Adc_ClrAccResult(void);
461 
462 //@}
463 #ifdef __cplusplus
464 }
465 #endif
466 
467 #endif /* __ADC_H__ */
468 /******************************************************************************/
469 /* EOF (not truncated)                                                        */
470 /******************************************************************************/
471