更新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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user