From 56900ed5464e7cf4215052c706e8c22b00147e4a Mon Sep 17 00:00:00 2001 From: yincheng.zhong <634916154@qq.com> Date: 星期三, 16 八月 2023 09:08:54 +0800 Subject: [PATCH] 代码排序后 --- 源码/核心板/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