From af422b0708a2cf64618fcfa54792a81709f4299e Mon Sep 17 00:00:00 2001 From: SnickerSun Date: Tue, 9 Apr 2024 18:43:35 +0800 Subject: [PATCH] =?utf8?q?=E8=A1=A5=E5=85=85=E6=8F=90=E4=BA=A4battery=20nt?= =?utf8?q?c=20enable=20gpio=20=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../battery/service/battery_driver.cpp | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/code/sdk/application/battery/service/battery_driver.cpp b/code/sdk/application/battery/service/battery_driver.cpp index 12649d58b..504acfed2 100644 --- a/code/sdk/application/battery/service/battery_driver.cpp +++ b/code/sdk/application/battery/service/battery_driver.cpp @@ -78,7 +78,7 @@ typedef enum { #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}, @@ -364,7 +364,9 @@ static bool adc_get_sample_result(float *voltage, uint8_t channel) 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; @@ -407,12 +409,20 @@ static bool adc_get_sample_result(float *voltage, uint8_t channel) 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; -- 2.17.1