#define adc_trans_sytick_to_voltage(x) ((float)(((float)(x) * 17) / 40960))
#define adc_trans_sytick_to_voltage_diff(x) ((float)(((float)((x) - 2048) * 17) / 20480))
-
+#define BATTERY_NTC_GPIO S_AGPIO_L21
float pcb_ntc_map[][2]={
{27.2186,0},
{26.076,1},
uint32_t discard_number = 0;
uint32_t stick = 0;
uint32_t sample_zero_count = 0;
-
+ //开启 battery NTC 开关
+ uapi_gpio_set_val(BATTERY_NTC_GPIO,GPIO_LEVEL_LOW);
+
if (channel >= ADC_CHANNEL_4) {
sample_number = HAL_ADC_SAMPLE_NUMBER_CONFIG_1;
discard_number = HAL_ADC_DISCARD_NUMBER_CONFIG_1;
if(channel == 2)
- *voltage = adc_trans_systick_to_battery_voltage(stick);
- else if (channel == 0)
- *voltage = adc_trans_systick_to_battery_ntc(stick);
+ {
+ *voltage = adc_trans_systick_to_battery_voltage(stick);
+ }
+ else if (channel == 0){
+ *voltage = adc_trans_systick_to_battery_ntc(stick);
+ }
else if (channel == 5)
- *voltage = adc_trans_systick_to_pcb_ntc(stick);
+ {
+ *voltage = adc_trans_systick_to_pcb_ntc(stick);
+ }
// osal_printk("channel = %d , stick = %d , voltage = %.04f.\r\n", channel,stick,*voltage);
+
+ //关闭 battery NTC 电源
+ uapi_gpio_set_val(BATTERY_NTC_GPIO,GPIO_LEVEL_HIGH);
UNUSED(discard_number);
return true;