更新EW模块驱动
This commit is contained in:
@@ -633,3 +633,54 @@ uint16_t AD_SampleCap(uint16_t delay)
|
||||
Gpio_CAPSwitch(0);
|
||||
return ul_ad;
|
||||
}
|
||||
|
||||
/*
|
||||
@brief 获取总线电流上升时间
|
||||
@param0 采样判线AD值
|
||||
@param1 采样超时 单位0.01ms
|
||||
@rtv 等待时间
|
||||
*/
|
||||
uint16_t AD_GetBusCurUp(uint16_t ad_line ,uint16_t time_out)
|
||||
{
|
||||
uint16_t aus_adc_v[5];
|
||||
uint16_t us_count = 0;
|
||||
uint16_t us_index = 0;
|
||||
uint8_t uc_start = 0;
|
||||
Get10usCount();
|
||||
ADC_ClearFlag(ADC_CURR_DE,ADC_FLAG_EOC);//清除转换结束标志
|
||||
ADC_SoftwareStartConvCmd(ADC_CURR_DE, ENABLE); //启动转换
|
||||
while(GetCountTimerCnt() < time_out)
|
||||
{
|
||||
time_out = 2000;
|
||||
while((time_out > 0) && ( ADC_GetFlagStatus(ADC_CURR_DE,ADC_FLAG_EOC) == RESET))
|
||||
{
|
||||
time_out--;
|
||||
}
|
||||
aus_adc_v[us_count] = ADC_GetConversionValue(ADC_CURR_DE) & 0x0FFF;
|
||||
ADC_ClearFlag(ADC_CURR_DE,ADC_FLAG_EOC);//清除转换结束标志
|
||||
ADC_SoftwareStartConvCmd(ADC_CURR_DE, ENABLE); //启动转换
|
||||
if(us_count == 4)
|
||||
{
|
||||
uc_start = 1;
|
||||
}
|
||||
us_count++;
|
||||
us_count %= 5;
|
||||
if(uc_start == 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
for(us_index = 0; us_index < 5; us_index++)
|
||||
{
|
||||
if(ad_line < aus_adc_v[us_index])
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(us_index == 5)
|
||||
{
|
||||
return GetCountTimerCnt();
|
||||
}
|
||||
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@@ -57,7 +57,7 @@ uint32_t GetADC2_Fast(void);
|
||||
uint32_t GetADC1_Fast(void);
|
||||
|
||||
uint32_t GetADC2_Value(uint32_t channel);
|
||||
#define ADC_GetCurADC(chnnel) GetADC2_Value(channel)
|
||||
#define ADC_GetCurADC(channel) GetADC2_Value(channel)
|
||||
|
||||
void GetADC1_Value(uint32_t channel,uint16_t* buf,uint16_t len);
|
||||
float Get_Temperature(void);
|
||||
@@ -94,4 +94,11 @@ uint16_t GetADC_Fast(ADC_TypeDef* adc_periph);
|
||||
void AD_SampleResistor(uint16_t* channels_re);
|
||||
/*测量电容电压*/
|
||||
uint16_t AD_SampleCap(uint16_t delay);
|
||||
/*
|
||||
@brief 获取总线电流上升时间
|
||||
@param0 采样判线AD值
|
||||
@param1 采样超时 单位0.01ms
|
||||
@rtv 等待时间
|
||||
*/
|
||||
uint16_t AD_GetBusCurUp(uint16_t ad_line ,uint16_t time_out);
|
||||
#endif
|
||||
|
@@ -279,6 +279,7 @@
|
||||
#define EW_DIFF_MOD_H HMOS_SWITCH_W_1
|
||||
#define EW_DIFF_MOD_L HMOS_SWITCH_W_0
|
||||
#define EW_BUS_OFF HMOS_SWITCH_OFF
|
||||
#define EW_BUS_ON HMOS_SWITCH_ON
|
||||
|
||||
|
||||
void CtrlGpio_DefInit(void);
|
||||
|
@@ -73,9 +73,11 @@ CurrentSample_Range_eu Power_SetSampleRange_Seep(CurrentSample_Range_eu range ,
|
||||
|
||||
#define JQChecker_ChgEnger_Sample_R R100_0p2mA_3mA_MC
|
||||
#define XTChecker_ChgEnger_Sample_R R10_2mA_30mA_MC
|
||||
#define EWChecker_ChgEnger_Sample_R R100_0p2mA_3mA_MC
|
||||
//模块通信采样电阻
|
||||
#define XTDriver_Sample_R R10_2mA_30mA_MC
|
||||
#define JQDriver_Sample_R R10_2mA_30mA_MC
|
||||
#define EWDriver_Sample_R R10_2mA_30mA_MC
|
||||
|
||||
|
||||
//电压调节的关系为线性函数
|
||||
|
Reference in New Issue
Block a user