1.电池adc读取优化
This commit is contained in:
parent
5b744c8511
commit
2dead38c0f
|
@ -85,8 +85,8 @@ UINT32 sf_battery_voltage_convert(UINT32 resistanceGnd, UINT32 resistanceVin, UI
|
||||||
SARADC reference voltage:1.8V
|
SARADC reference voltage:1.8V
|
||||||
*/
|
*/
|
||||||
|
|
||||||
volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 511;
|
//volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 511;
|
||||||
|
volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 2696;
|
||||||
return volt;
|
return volt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -94,8 +94,8 @@ UINT32 sf_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin, UIN
|
||||||
{
|
{
|
||||||
UINT32 adcVal = 0;
|
UINT32 adcVal = 0;
|
||||||
|
|
||||||
adcVal = volt * resistanceGnd * 511 / 27 / (resistanceGnd + resistanceVin);
|
//adcVal = volt * resistanceGnd * 511 / 27 / (resistanceGnd + resistanceVin);
|
||||||
|
adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin);
|
||||||
return adcVal;
|
return adcVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -187,7 +187,8 @@ UINT32 sf_adc_value_get(UINT32 mux, UINT32 *pval)
|
||||||
|
|
||||||
vos_util_delay_ms(1);
|
vos_util_delay_ms(1);
|
||||||
|
|
||||||
*pval = adc_readData(0);
|
*pval = adc_readVoltage(0);
|
||||||
|
//*pval = adc_readData(0);
|
||||||
//printf("[%s:%d] *pval:%d\n", __FUNCTION__, __LINE__,*pval);
|
//printf("[%s:%d] *pval:%d\n", __FUNCTION__, __LINE__,*pval);
|
||||||
getAdcFlg = 0;
|
getAdcFlg = 0;
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
@ -278,6 +279,7 @@ UINT32 sf_battery_adc_value_get_once(void)
|
||||||
UINT32 liPolymerVoltageVal = 0;
|
UINT32 liPolymerVoltageVal = 0;
|
||||||
UINT32 batVoltageVal = 0;
|
UINT32 batVoltageVal = 0;
|
||||||
static UINT8 getBatAdcFlg = 0;
|
static UINT8 getBatAdcFlg = 0;
|
||||||
|
UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
|
||||||
|
|
||||||
if(getBatAdcFlg)
|
if(getBatAdcFlg)
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
@ -289,18 +291,26 @@ UINT32 sf_battery_adc_value_get_once(void)
|
||||||
{
|
{
|
||||||
dcVoltageVal = sf_battery_voltage_convert(10, 100, batAdc);
|
dcVoltageVal = sf_battery_voltage_convert(10, 100, batAdc);
|
||||||
dcVoltageVal += 2;
|
dcVoltageVal += 2;
|
||||||
|
if(puiPara->BatteryLogSwitch)
|
||||||
|
printf("DC ADC Value:%d After Convert:%d(%d.%dV)\n",batAdc,dcVoltageVal,dcVoltageVal/10,dcVoltageVal%10);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(sf_adc_value_get(SF_ADC_LI, &batAdc) == SUCCESS)
|
if(sf_adc_value_get(SF_ADC_LI, &batAdc) == SUCCESS)
|
||||||
{
|
{
|
||||||
liPolymerVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
|
liPolymerVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
|
||||||
liPolymerVoltageVal += 2;
|
liPolymerVoltageVal += 2;
|
||||||
|
if(puiPara->BatteryLogSwitch)
|
||||||
|
printf("Li ADC Value:%d After Convert:%d(%d.%dV)\n",batAdc,liPolymerVoltageVal,liPolymerVoltageVal/10,liPolymerVoltageVal%10);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(sf_adc_value_get(SF_ADC_BATT, &batAdc) == SUCCESS)
|
if(sf_adc_value_get(SF_ADC_BATT, &batAdc) == SUCCESS)
|
||||||
{
|
{
|
||||||
batVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
|
batVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
|
||||||
batVoltageVal += 2;
|
batVoltageVal += 2;
|
||||||
|
if(puiPara->BatteryLogSwitch)
|
||||||
|
printf("Bat ADC Value:%d After Convert:%d(%d.%dV)\n",batAdc,batVoltageVal,batVoltageVal/10,batVoltageVal%10);
|
||||||
}
|
}
|
||||||
|
|
||||||
_DcVoltageVal = dcVoltageVal;
|
_DcVoltageVal = dcVoltageVal;
|
||||||
|
|
|
@ -90,8 +90,8 @@ UINT32 sf_battery_voltage_convert(UINT32 resistanceGnd, UINT32 resistanceVin, UI
|
||||||
SARADC reference voltage:1.8V
|
SARADC reference voltage:1.8V
|
||||||
*/
|
*/
|
||||||
|
|
||||||
volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 511;
|
//volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 511;
|
||||||
|
volt = 27 * adcVal * (resistanceGnd + resistanceVin) / resistanceGnd / 2696;
|
||||||
return volt;
|
return volt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -99,7 +99,8 @@ UINT32 sf_battery_convert_to_adc(UINT32 resistanceGnd, UINT32 resistanceVin, UIN
|
||||||
{
|
{
|
||||||
UINT32 adcVal = 0;
|
UINT32 adcVal = 0;
|
||||||
|
|
||||||
adcVal = volt * resistanceGnd * 511 / 27 / (resistanceGnd + resistanceVin);
|
//adcVal = volt * resistanceGnd * 511 / 27 / (resistanceGnd + resistanceVin);
|
||||||
|
adcVal = volt * resistanceGnd * 2696 / 27 / (resistanceGnd + resistanceVin);
|
||||||
|
|
||||||
return adcVal;
|
return adcVal;
|
||||||
}
|
}
|
||||||
|
@ -189,7 +190,9 @@ UINT32 sf_adc_value_get(UINT32 mux, UINT32 *pval)
|
||||||
//vos_util_delay_us(400);
|
//vos_util_delay_us(400);
|
||||||
vos_util_delay_ms(1);
|
vos_util_delay_ms(1);
|
||||||
|
|
||||||
*pval = adc_readData(0);
|
*pval = adc_readVoltage(0);
|
||||||
|
//*pval = adc_readData(0);
|
||||||
|
|
||||||
//printf("[%s:%d] 1 *pval:%lu\n", __FUNCTION__, __LINE__,*pval);
|
//printf("[%s:%d] 1 *pval:%lu\n", __FUNCTION__, __LINE__,*pval);
|
||||||
getAdcFlg = 0;
|
getAdcFlg = 0;
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
@ -280,6 +283,7 @@ UINT32 sf_battery_adc_value_get_once(void)
|
||||||
UINT32 liPolymerVoltageVal = 0;
|
UINT32 liPolymerVoltageVal = 0;
|
||||||
UINT32 batVoltageVal = 0;
|
UINT32 batVoltageVal = 0;
|
||||||
static UINT8 getBatAdcFlg = 0;
|
static UINT8 getBatAdcFlg = 0;
|
||||||
|
UIMenuStoreInfo *puiPara = sf_ui_para_get();
|
||||||
|
|
||||||
if(getBatAdcFlg)
|
if(getBatAdcFlg)
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
@ -291,18 +295,25 @@ UINT32 sf_battery_adc_value_get_once(void)
|
||||||
{
|
{
|
||||||
dcVoltageVal = sf_battery_voltage_convert(10, 100, batAdc);
|
dcVoltageVal = sf_battery_voltage_convert(10, 100, batAdc);
|
||||||
dcVoltageVal += 4;
|
dcVoltageVal += 4;
|
||||||
|
if(puiPara->BatteryLogSwitch)
|
||||||
|
printf("DC ADC Value:%lu After Convert:%lu(%lu.%luV)\n",batAdc,dcVoltageVal,dcVoltageVal/10,dcVoltageVal%10);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(sf_adc_value_get(SF_ADC_LI, &batAdc) == SUCCESS)
|
if(sf_adc_value_get(SF_ADC_LI, &batAdc) == SUCCESS)
|
||||||
{
|
{
|
||||||
liPolymerVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
|
liPolymerVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
|
||||||
liPolymerVoltageVal += 4;
|
liPolymerVoltageVal += 4;
|
||||||
|
if(puiPara->BatteryLogSwitch)
|
||||||
|
printf("Li ADC Value:%lu After Convert:%lu(%lu.%luV)\n",batAdc,liPolymerVoltageVal,liPolymerVoltageVal/10,liPolymerVoltageVal%10);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(sf_adc_value_get(SF_ADC_BATT, &batAdc) == SUCCESS)
|
if(sf_adc_value_get(SF_ADC_BATT, &batAdc) == SUCCESS)
|
||||||
{
|
{
|
||||||
batVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
|
batVoltageVal = sf_battery_voltage_convert(15, 100, batAdc);
|
||||||
batVoltageVal += 4;
|
batVoltageVal += 4;
|
||||||
|
if(puiPara->BatteryLogSwitch)
|
||||||
|
printf("Bat ADC Value:%lu After Convert:%lu(%lu.%luV)\n",batAdc,batVoltageVal,batVoltageVal/10,batVoltageVal%10);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_DcVoltageVal = dcVoltageVal;
|
_DcVoltageVal = dcVoltageVal;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user