ew写延时验证成功,ej写流水号验证成功
解决上位机协议crc错误依然执行命令的bug 注意:小板方案中芯片类型与主板不同时,使用槽任务可能造成各种异常问题(死机,死循环,不返回数据等)
This commit is contained in:
@@ -618,7 +618,24 @@
|
||||
<Name></Name>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<Breakpoint>
|
||||
<Bp>
|
||||
<Number>0</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>108</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134339522</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>D:\work\SVN\鍐夊窛\mcu_program\checker_slave\source\rt_thread\board.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\checker_slave_app\source/rt_thread/board.c\108</Expression>
|
||||
</Bp>
|
||||
</Breakpoint>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
@@ -635,6 +652,21 @@
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>state</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>3</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>cmd_buf</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>4</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>readbuf</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>5</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>JQ_SendRead</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
@@ -648,7 +680,7 @@
|
||||
<Mm>
|
||||
<WinNumber>2</WinNumber>
|
||||
<SubType>1</SubType>
|
||||
<ItemText>0x200079a0</ItemText>
|
||||
<ItemText>0x20003DD0</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow2>
|
||||
|
@@ -312,3 +312,7 @@
|
||||
解决EW写流水号数组越界的bug
|
||||
解决0x20指令只会解析第一个槽参数的bug
|
||||
ew写延时添加crc8
|
||||
2023.12.26
|
||||
ew写延时验证成功,ej写流水号验证成功
|
||||
解决上位机协议crc错误依然执行命令的bug
|
||||
注意:小板方案中芯片类型与主板不同时,使用槽任务可能造成各种异常问题(死机,死循环,不返回数据等)
|
||||
|
@@ -66,7 +66,7 @@ array_def *protu_decode(protu_def *p,array_def *data)
|
||||
{
|
||||
// crc校验不对
|
||||
DBG_WARN("recv data check error.h_crc=%02x %02x,crc=%02x %02x",chk_a,chk_b,arr_get(data,-2),arr_get(data,-1));
|
||||
//str_set(p->str_err,"recv data check error.");
|
||||
str_set(p->str_err,"recv data check error.");
|
||||
}
|
||||
int cmd_no=arr_get(data,5)|(arr_get(data,6)<<8);
|
||||
// if(p->cmd_no==cmd_no)
|
||||
|
@@ -197,6 +197,19 @@ elec_task_judge, //33 写模块版本
|
||||
elec_task_judge, //34 读取版本号
|
||||
elec_task_judge, //35 写缓存数据
|
||||
elec_task_judge, //36 验证缓存数据
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge, //49
|
||||
0,
|
||||
};
|
||||
|
||||
@@ -286,6 +299,17 @@ elec_task_judge, //35 检测过程中注码
|
||||
elec_task_judge, //36 验证注码
|
||||
elec_task_judge, //37 模块在线检测
|
||||
elec_task_judge, //38 升级
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge,
|
||||
elec_task_judge, //49
|
||||
0,
|
||||
};
|
||||
|
||||
|
@@ -1097,8 +1097,8 @@ void EW_Test_WriteSN(void)
|
||||
void EW_Test_WriteDelay(void)
|
||||
{
|
||||
uint8_t uc_rtv=0;
|
||||
uint8_t addr[2]={0x18/4,0xa8/4};
|
||||
uint8_t len=3;
|
||||
uint8_t addr[2]={0x48/4,0xa8/4};
|
||||
uint8_t len=4;
|
||||
// 缓存开大一点防止数据越界
|
||||
typedef union{
|
||||
uint8_t arr[6];
|
||||
@@ -1117,7 +1117,7 @@ void EW_Test_WriteDelay(void)
|
||||
// }
|
||||
delay_ms(50);
|
||||
temp.data=delay;
|
||||
temp.arr[2]=CheckCRC_8(temp.arr,2);
|
||||
temp.arr[len-1]=CheckCRC_8(temp.arr,len-1);
|
||||
uc_rtv |= EW_WriteMTP(checker_runcfg.netid,addr[i],temp.arr,len);
|
||||
if(uc_rtv){
|
||||
uc_rtv=2+i;
|
||||
@@ -1195,6 +1195,7 @@ CheckerExt_SetCbv, //37 设置电阻校准值
|
||||
EW_Test_ReadSN, //38 读取流水号
|
||||
EW_Test_WriteSN, //39 写入流水号
|
||||
EW_Test_WriteDelay, //40 写固定延时
|
||||
EW_Test_RunBoot, //41 复位,0复位至boot;1复位至app
|
||||
(void*)0 //数组结束
|
||||
};
|
||||
|
||||
|
@@ -318,7 +318,7 @@ static int EW_TurnToBoot1(ew_updata_def *e)
|
||||
delay_ms(5);
|
||||
EW_EnWriteMTP(0,1);
|
||||
delay_ms(5);
|
||||
EW_RunBootLoader(0,1);
|
||||
EW_RunBootLoader(0,0);
|
||||
delay_ms(500);
|
||||
if(EW_bootCharg()==0)
|
||||
return 0;
|
||||
@@ -340,7 +340,7 @@ static int EW_TurnToBoot2(ew_updata_def *e)
|
||||
int EW_TurnToBoot(ew_updata_def *e)
|
||||
{
|
||||
typedef int (*turnfun)(ew_updata_def *e);
|
||||
turnfun func_table[]={EW_TurnToBoot2,EW_TurnToBoot2};
|
||||
turnfun func_table[]={EW_TurnToBoot1,EW_TurnToBoot2};
|
||||
int ret=0;
|
||||
for(int i=0;i<2;i++){
|
||||
if(e->state!=1){
|
||||
|
@@ -87,7 +87,7 @@ static const uart_dtb g_uartdtb[]={
|
||||
.uart=USART1,
|
||||
.uart_clock_fun=RCC_APB2PeriphClockCmd,
|
||||
.uart_rcc=RCC_APB2Periph_USART1,
|
||||
.baudrate=57600,
|
||||
.baudrate=38400,
|
||||
.irq_channel=USART1_IRQn,
|
||||
|
||||
.gpio_tx_clock_fun=RCC_APB2PeriphClockCmd,
|
||||
|
@@ -6,7 +6,7 @@
|
||||
|
||||
|
||||
|
||||
#define BUILD_DATE "2023-12-25 17:21:14"
|
||||
#define BUILD_DATE "2023-12-26 17:20:22"
|
||||
#define SOFT_VERSION "2.10"
|
||||
|
||||
|
||||
|
@@ -122,6 +122,8 @@ static void slave_adds(self_def *s)
|
||||
t->task_index=arr_get(s->data,off+5);
|
||||
memcpy(t->params,arr_data(s->data)+off+6,t->par_count*2);
|
||||
task_slot_add_item(slot,t);
|
||||
DBG_LOG("slot_index=%d,task_id=%d,par_count=%d,ret_count=%d",
|
||||
t->slot_index,t->task_id,t->par_count,t->ret_count);
|
||||
off+=6+t->par_count*2;
|
||||
}
|
||||
free(t);
|
||||
|
Reference in New Issue
Block a user