From 7a67526ee4c5c0664e2b8b9a56e86a82eb9b238a Mon Sep 17 00:00:00 2001 From: zhyinch <zhyinch@gmail.com> Date: 星期五, 10 十二月 2021 17:32:39 +0800 Subject: [PATCH] 0 --- Src/OnChipDevices/ADC.c | 19 ++++++++++++------- 1 files changed, 12 insertions(+), 7 deletions(-) diff --git a/Src/OnChipDevices/ADC.c b/Src/OnChipDevices/ADC.c index c16ecd7..20f7765 100644 --- a/Src/OnChipDevices/ADC.c +++ b/Src/OnChipDevices/ADC.c @@ -1,24 +1,27 @@ #include "ADC.h" #include "main.h" -static uint16_t Get_ADC_Value() +uint16_t Get_ADC_Value() { -HAL_ADC_Start(&hadc); - HAL_ADC_PollForConversion(&hadc, 10); - if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc), HAL_ADC_STATE_REG_EOC)) - { - return HAL_ADC_GetValue(&hadc); - } +//HAL_ADC_Start(&hadc); +// HAL_ADC_PollForConversion(&hadc, 10); +// if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc), HAL_ADC_STATE_REG_EOC)) +// { +// return HAL_ADC_GetValue(&hadc); +// } } float bat_volt; uint8_t Get_Battary(void) {static float last_value = 100; static uint8_t first=1; + //HAL_GPIO_WritePin(GPIOB, BAT_MEAS_GND_Pin, GPIO_PIN_RESET); bat_volt = (float)Get_ADC_Value()/621; //(value/4096*3.3*2-3.5)/0.7 + //HAL_GPIO_WritePin(GPIOB, BAT_MEAS_GND_Pin, GPIO_PIN_SET); if(bat_volt>=3.5) { if(first) { first = 0; + bat_volt = (float)Get_ADC_Value()/621; last_value =(bat_volt-3.5)*167;//(bat_volt-3.5)/0.6*100 } last_value = 0.9*last_value + (bat_volt-3.5)*16.7; @@ -26,6 +29,8 @@ last_value = 100; if(last_value<0) last_value = 0; +}else{ + last_value=0; } return last_value; } \ No newline at end of file -- Gitblit v1.9.3