From 77d70d856aa5f5afb114379e2a23c7b6224b7535 Mon Sep 17 00:00:00 2001 From: yincheng.zhong <634916154@qq.com> Date: 星期四, 03 十一月 2022 10:13:05 +0800 Subject: [PATCH] V1.38 1.修改电量检测逻辑 2.修改UWB冲突避免逻辑 3.优化代码节省电量 功耗测试: 0hz 0.07ma 1hz 0.8ma 2hz 1.5ma 5hz 3.5ma 10hz 7.1ma --- Src/OnChipDevices/ADC.c | 32 ++++++++++++++++++++++++++++++++ 1 files changed, 32 insertions(+), 0 deletions(-) diff --git a/Src/OnChipDevices/ADC.c b/Src/OnChipDevices/ADC.c index 14885d8..6c7261a 100644 --- a/Src/OnChipDevices/ADC.c +++ b/Src/OnChipDevices/ADC.c @@ -33,4 +33,36 @@ 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_ADC_Init(); + 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; + 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