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