V0.08 解决任务执行次数异常的bug,原因是每次执行任务未更新任务结构体指针

此bug在V2.06版本被引入
解决 EW_Test_ReadUID 函数数组越界的问题
添加 总线翻转任务 JQ_Test_Toggle
This commit is contained in:
ranchuan
2023-12-13 18:28:38 +08:00
parent aeb0e4c206
commit 3909bc13a2
15 changed files with 147 additions and 102 deletions

View File

@@ -133,13 +133,14 @@ void CheckerExt_Slot(void)
int index;
uint16_t ret=0;
int self_index=checker_runcfg.task_info.runindex;
task_def *t=0;
void *task_slot=0;
if(checker_runcfg.param_count<1){
ret=1;
goto end;
}
index=checker_runcfg.params[0];
task_def *t=0;
void *task_slot=task_slot_init();
task_slot=task_slot_init();
if(task_slot==0){
goto end;
}

View File

@@ -80,7 +80,7 @@ void EW_Test_SetBusV(void)
/*
@brief 测量总线基本电压
@rtv1 返回总线电流 单位0.01uA
@rtv1 返回总线电流 单位0.1uA
*/
void EW_Test_BaseCur(void)
{
@@ -128,7 +128,7 @@ void EW_Test_ReadUID(void)
{
uint8_t uc_rtv = 0;
uint8_t uc_count = 0;
uint16_t aus_temp[12];
uint16_t aus_temp[14];
uint32_t ul_temp = 0;
memset(EW_RunBuf,0,EW_CHECKER_RUN_BUF);
if(checker_runcfg.params[0] == 0)
@@ -175,7 +175,7 @@ void EW_Test_ReadUID(void)
uc_count = (checker_runcfg.params[0]+7+1)/2;
}
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
memcpy(aus_temp+4,EW_RunBuf,24);
memcpy(aus_temp+4,EW_RunBuf,16);
Checker_SetRtv(aus_temp,checker_runcfg.rtv_count);
}
/*

View File

@@ -62,7 +62,7 @@ void JQ_Test_SetBusV(void)
}
/*
@brief 测量总线基本电压
@rtv1 返回总线电流 单位0.01uA
@rtv1 返回总线电流 单位0.1uA
*/
void JQ_Test_BaseCur(void)
{
@@ -1195,6 +1195,29 @@ void JQ_Test_VerifyDelay(void)
end:
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
}
/*
@brief 切换总线极性
@par0 从一个极性切换到另一个极性的间隔
@par1 从正极性切换到负极性为一个循环,循环的次数
@rtv1 返回最后一次总线电流 单位0.1uA
*/
void JQ_Test_Toggle(void)
{
uint16_t ul_cur[2];
uint16_t interval_ms = checker_runcfg.params[0];
uint16_t times = checker_runcfg.params[1];
for(int i=0;i<times;i++)
{
JQBUS_W_1
delay_ms(interval_ms);
JQBUS_W_0
delay_ms(interval_ms);
}
JQBUS_W_1
delay_ms(20);
Checker_MaskResult(0,checker_runcfg.task_info.runindex);
Checker_SetRtv(ul_cur,checker_runcfg.rtv_count);
}
CheckerTask jqtaskArray[CHECKER_MAXID_COUNT] ={
@@ -1236,6 +1259,7 @@ JQ_Test_ReadVersion ,//34 读取版本号
JQ_Test_WriteFacBuff ,//35 写缓存数据
JQ_Test_VerifyFacBuff ,//36 验证缓存数据
JQ_Test_VerifyDelay ,//37 读取延时值和otp数据相比
JQ_Test_Toggle ,//38 切换总线极性
(void*)0 //数组结束
};