From 30f954046d1fb066587d57f369bace347a27e829 Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期三, 12 六月 2024 17:09:43 +0800
Subject: [PATCH] V1.24 双spi开发完成,功能正常,之前出现死机是因为uwb再次用之前要关中断再开中断就行了。

---
 Src/OnChipDevices/ADC.c |   37 +++++++++++++++++++++++++++++++++++--
 1 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/Src/OnChipDevices/ADC.c b/Src/OnChipDevices/ADC.c
index 14885d8..cd0bf0f 100644
--- a/Src/OnChipDevices/ADC.c
+++ b/Src/OnChipDevices/ADC.c
@@ -13,9 +13,9 @@
 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);
+//	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);
+//	HAL_GPIO_WritePin(GPIOB, BAT_MEAS_GND_Pin, GPIO_PIN_SET);
 	if(bat_volt>=3.5)
 	{
 		if(first)
@@ -33,4 +33,37 @@
         last_value=0;
     }
 	return last_value;	
+}
+
+uint16_t verfint_cal,adc_val;
+uint8_t Get_VDDVlotage(void)
+{   static float last_value = 100;
+    static uint8_t first=1;	
+     static uint16_t bat_count = 0;
+    if(bat_count++%600==0)
+    {
+    MX_ADC1_Init();
+    Delay_Us(30);
+    adc_val = Get_ADC_Value();
+    MX_ADC_DeInit();
+	//temp_voltage = (float)Get_ADC_Value()/621;  //(value/4096*3.3*2-3.5)/0.7    
+    verfint_cal = *(__IO uint16_t *)(0X1FF80078);
+    bat_volt = 3*(float)verfint_cal/adc_val-0.329;
+	if(bat_volt>=3.0)
+	{
+		if(first)
+		{
+            first = 0;
+            last_value =(bat_volt-3.0)*167;//(bat_volt-3.5)/0.6*100
+		}
+		last_value = 0.9*last_value + (bat_volt-3.0)*16.7;
+	if(last_value>100)
+		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