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