mirror of
https://github.com/oopuuu/zTC1.git
synced 2025-12-19 00:13:21 +08:00
115 lines
3.0 KiB
C
115 lines
3.0 KiB
C
/**
|
||
*************************************************************************************
|
||
* @file sradc.h
|
||
* @author Yancy
|
||
* @version v1.0.0
|
||
* @date 2013/05/29
|
||
* @brief Sar ADC driver header file
|
||
* Copyright (C) Shanghai Mountain View Silicon Technology Co.,Ltd. All rights reserved.
|
||
*************************************************************************************
|
||
*/
|
||
#ifndef __ADC_H__
|
||
#define __ADC_H__
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif//__cplusplus
|
||
|
||
/**
|
||
* ADC 通道选择
|
||
* Note: 不要更改以下宏定义!
|
||
*/
|
||
#define ADC_CHANNEL_LDOIN 0 /**< ADC channel: LDOIN*/
|
||
#define ADC_CHANNEL_B5 2 /**< ADC channel: GPIO B5*/
|
||
#define ADC_CHANNEL_B6 3 /**< ADC channel: GPIO B6 */
|
||
#define ADC_CHANNEL_B7 4 /**< ADC channel: GPIO B7 */
|
||
#define ADC_CHANNEL_B22 5 /**< ADC channel: GPIO B22*/
|
||
#define ADC_CHANNEL_B23 6 /**< ADC channel: GPIO B23*/
|
||
#define ADC_CHANNEL_B24 7 /**< ADC channel: GPIO B24*/
|
||
#define ADC_CHANNEL_B25 8 /**< ADC channel: GPIO B25*/
|
||
#define ADC_CHANNEL_C7 9 /**< ADC channel: GPIO C7*/
|
||
#define ADC_CHANNEL_C8 10 /**< ADC channel: GPIO C8 */
|
||
#define ADC_CHANNEL_C9 11 /**< ADC channel: GPIO C9*/
|
||
|
||
/**
|
||
* @brief 配置gpio为sar adc通道
|
||
* @param AdcChannel: 需要配置的adc channel
|
||
* @arg ADC_CHANNEL_B5
|
||
* @arg ADC_CHANNEL_B6
|
||
* @arg ADC_CHANNEL_B7
|
||
* @arg ADC_CHANNEL_B22
|
||
* @arg ADC_CHANNEL_B23
|
||
* @arg ADC_CHANNEL_B24
|
||
* @arg ADC_CHANNEL_B25
|
||
* @arg ADC_CHANNEL_C7
|
||
* @arg ADC_CHANNEL_C8
|
||
* @arg ADC_CHANNEL_C9
|
||
* @return void
|
||
*/
|
||
void SarAdcGpioSel(uint8_t AdcChannel);
|
||
|
||
/**
|
||
* @brief 读取ADC通道的采样值,参考电压为LDO3V3
|
||
* @param Channel: ADC channel ID
|
||
* @arg ADC_CHANNEL_LDOIN
|
||
* @arg ADC_CHANNEL_B5
|
||
* @arg ADC_CHANNEL_B6
|
||
* @arg ADC_CHANNEL_B7
|
||
* @arg ADC_CHANNEL_B22
|
||
* @arg ADC_CHANNEL_B23
|
||
* @arg ADC_CHANNEL_B24
|
||
* @arg ADC_CHANNEL_B25
|
||
* @arg ADC_CHANNEL_C7
|
||
* @arg ADC_CHANNEL_C8
|
||
* @arg ADC_CHANNEL_C9
|
||
* @return 获取的采样值
|
||
*/
|
||
uint16_t SarAdcChannelGetValue(uint8_t Channel);
|
||
|
||
|
||
/**
|
||
* @brief 调用SarAdcGetLdoinVoltage前的初始化,只需调用一次。
|
||
* @param void
|
||
* @return void
|
||
*/
|
||
void SarAdcLdoinVolInit(void);
|
||
|
||
/**
|
||
* @brief 读取LDOIN的电压值
|
||
* @param NONE
|
||
* @return 以毫伏为单位的电压值
|
||
* @note 在调用SarAdcGetLdoinVoltage函数之前,需调用SarAdcLdoinVolInit进行初始化
|
||
*/
|
||
uint16_t SarAdcGetLdoinVoltage(void);
|
||
|
||
/**
|
||
* @brief 读取GPIO的电压值
|
||
* @param Channel: ADC channel ID
|
||
* @return 以毫伏为单位的电压值
|
||
*/
|
||
uint16_t SarAdcGetGpioVoltage(uint8_t Channel);
|
||
|
||
/**
|
||
* @brief 读取锂电池剩余电量
|
||
* @param None
|
||
* @return 剩余电量的百分比,返回值为0~100
|
||
*/
|
||
uint8_t SarAdcGetRemainBatteryCapacity(void);
|
||
|
||
|
||
/**
|
||
* @brief PowerDown ADC for low power
|
||
* @param void
|
||
* @return void
|
||
* @note 在进入休眠时通过powerdown ADC降低功耗
|
||
*/
|
||
void SarAdcPowerDown(void);
|
||
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif//__cplusplus
|
||
|
||
#endif
|
||
|