From e391e8ff47bd0c6b55fe268ac54414c093ae6246 Mon Sep 17 00:00:00 2001
From: zhyinch <zhyinch@gmail.com>
Date: 星期四, 16 九月 2021 20:08:30 +0800
Subject: [PATCH] V1.55 增加馈线长度,测试通过
---
源码/核心板/Src/OnChipDevices/ADC.c | 17 +++++++++++++----
1 files changed, 13 insertions(+), 4 deletions(-)
diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/ADC.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/ADC.c"
index 75cc3da..ae529a3 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/ADC.c"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/OnChipDevices/ADC.c"
@@ -11,6 +11,7 @@
ADC_DeInit(ADC1);//??
+ RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;//ADC1?ADC2????,????
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;//ADC????,????????
ADC_InitStructure.ADC_ScanConvMode = DISABLE; //ADC?????(ENABLE??????)
@@ -29,10 +30,10 @@
ADC_StartCalibration(ADC1);//????
while(ADC_GetCalibrationStatus(ADC1));//??????
-ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_239Cycles5);
+ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_1Cycles5);
}
-static u16 Get_ADC_Value()
+ u16 Get_ADC_Value(void)
{
ADC_SoftwareStartConvCmd(ADC1, ENABLE);//????,ADC????
while(ADC_GetSoftwareStartConvStatus(ADC1));//??????
@@ -41,12 +42,20 @@
float bat_volt;
uint8_t Get_Battary(void)
{static float last_value = 100;
-
+static u8 first=1;
bat_volt = (float)Get_ADC_Value()/621; //(value/4096*3.3*2-3.5)/0.7
- last_value = 0.9*last_value + (bat_volt-3.5)*14.3;
+ if(bat_volt>=3.5)
+ {
+ if(first)
+ {
+ first = 0;
+ last_value =(bat_volt-3.5)*143;
+ }
+ last_value = 0.9*last_value + (bat_volt-3.5)*14.3;
if(last_value>100)
last_value = 100;
if(last_value<0)
last_value = 0;
+}
return last_value;
}
\ No newline at end of file
--
Gitblit v1.9.3