1
WXK
2024-02-28 2250f814cfcfee313c64b2e01b7e1485a2f6ee4e
Src/OnChipDevices/ADC.c
@@ -40,15 +40,16 @@
{   static float last_value = 100;
    static uint8_t first=1;   
     static uint16_t bat_count = 0;
    if(bat_count++%600==0)
    {
    MX_ADC_Init();
    HAL_Delay(30);
//    if(bat_count++%600==0)
//    {
    READC_Init();
     Delay_Ms(10);
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_SET);
    adc_val = Get_ADC_Value();
    MX_ADC_DeInit();
   //temp_voltage = (float)Get_ADC_Value()/621;  //(value/4096*3.3*2-3.5)/0.7
   //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;
    bat_volt = 3*(float)verfint_cal/adc_val-0.28;
   if(bat_volt>=3.0)
   {
      if(first)
@@ -64,6 +65,8 @@
    }else{
        last_value=0;
    }
}
    printf("VCC:%.2f\r\n",bat_volt);
    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_12, GPIO_PIN_RESET);
//}
   return last_value;   
}