diff --git a/si4/soft_gsm_main.si4project/soft_gsm_main.sip_sym b/si4/soft_gsm_main.si4project/soft_gsm_main.sip_sym index 7e6cdac..bedf4df 100644 Binary files a/si4/soft_gsm_main.si4project/soft_gsm_main.sip_sym and b/si4/soft_gsm_main.si4project/soft_gsm_main.sip_sym differ diff --git a/si4/soft_gsm_main.si4project/soft_gsm_main.sip_xm b/si4/soft_gsm_main.si4project/soft_gsm_main.sip_xm index ce6efda..20f8fa1 100644 Binary files a/si4/soft_gsm_main.si4project/soft_gsm_main.sip_xm and b/si4/soft_gsm_main.si4project/soft_gsm_main.sip_xm differ diff --git a/si4/soft_gsm_main.si4project/soft_gsm_main.siwork b/si4/soft_gsm_main.si4project/soft_gsm_main.siwork index f39bad8..3c4ef82 100644 Binary files a/si4/soft_gsm_main.si4project/soft_gsm_main.siwork and b/si4/soft_gsm_main.si4project/soft_gsm_main.siwork differ diff --git a/source/app/app_drv.c b/source/app/app_drv.c index 480df67..4334335 100644 --- a/source/app/app_drv.c +++ b/source/app/app_drv.c @@ -51,21 +51,31 @@ void L3_UARTcom4_exp_protocol(TS_Handle_0d0a *p) { if (1 == p->ok ) { + #if 0 U8 array[D_s_SSTR_0D0A_len+1]; U8 num = p->buf[0]; byte_copy_uc(array,p->buf+1,num); - p->ok = 0; - + array[num] = 0; L3_protocol_handler_uart4_fun(array); + #else + if(p->buf[0] > D_s_SSTR_0D0A_len) + { + p->buf[0] = D_s_SSTR_0D0A_len; + } + p->buf[p->buf[0]] = 0; + L3_protocol_handler_uart4_fun(p->buf + 1); + #endif + p->ok = 0; } } + void L3_UARTcom3_exp_protocol(TS_Handle_PH3 *p) { if (1 == p->ok) { - #if 1 + #if 0 TS_PH3_ccmodbus ccmodbus; byte_copy_uc((U8*)&ccmodbus,(U8*)&p->ts_ccmodbus,p->ts_ccmodbus.num + 3); if(ccmodbus.buf[0] != G._rfid) //rfid发生改变 @@ -73,7 +83,10 @@ void L3_UARTcom3_exp_protocol(TS_Handle_PH3 *p) G.rfid = G._rfid = ccmodbus.buf[0]; } #else - L0_uart3_uc(p->reg); + if(p->ts_ccmodbus.buf[0] != G._rfid) //rfid发生改变 + { + G.rfid = G._rfid = p->ts_ccmodbus.buf[0]; + } #endif p->ok = 0; } @@ -84,48 +97,7 @@ void L3_UARTcom0_exp_protocol(TS_Handle_PH3 *p) { if (1 == p->ok) { - TS_PH3_ccmodbus ccmodbus; - //L0_uart0_uc(0xaa); - byte_copy_uc((U8*)&ccmodbus,(U8*)&p->ts_ccmodbus,p->ts_ccmodbus.num + 3); - p->ok = 0; - //L3_protocol_handler_uart0_fun(&ccmodbus,0); - } -} - -#if 0 -void L3_UARTcom2_exp_protocol(TS_Handle_PH1A *p) -{ - if (1 == p->ok ) - { - U8 slaveId = s_task_485.slaveId; - TS_PH1A_DAT tsph1A; - byte_copy_uc((U8*)&tsph1A,(U8*)&p->buf,D_HETU_FXA_buf_max); p->ok = 0; - switch(tsph1A.oper) - { - case OPER_ANGLE_DAT:{ - s_task_485.received = 1; - G.currentSensorVal[slaveId - U485_BASE] = (U16)tsph1A.xaxis[0] << 8 | tsph1A.xaxis[1]; - //ID已经在协议解析处过滤,这里不?要再处理 - #if 0 - L0_uart0_uc(tsph1A.filter);L0_uart0_uc(tsph1A.id); - L0_uart0_uc(tsph1A.xaxis[0]);L0_uart0_uc(tsph1A.xaxis[1]); - L0_uart0_uc(tsph1A.yaxis[0]);L0_uart0_uc(tsph1A.yaxis[1]); - L0_uart0_uc(tsph1A.zaxis[0]);L0_uart0_uc(tsph1A.zaxis[1]); - #endif - G.papers[slaveId - U485_BASE].version = APP_VERSION_HEX; - G.papers[slaveId - U485_BASE].LowPower = 0x00; //1bit - G.papers[slaveId - U485_BASE].cameraNotWorking = 0x00; //1bit - G.papers[slaveId - U485_BASE].cameraIndex = 0x00; //4bit - G.papers[slaveId - U485_BASE].paperNum = - L2_paper_count(slaveId - U485_BASE, (U16)tsph1A.xaxis[0] << 8 | tsph1A.xaxis[1]); //10bit - break; - } - case OPER_ANGLE_SET_ID: - L2_do_angle_setid_ack(tsph1A.xaxis[0]); - break; - } } } -#endif diff --git a/source/app/app_task_485.c b/source/app/app_task_485.c index 85af9a5..29cf828 100644 --- a/source/app/app_task_485.c +++ b/source/app/app_task_485.c @@ -79,10 +79,6 @@ void L3_task_485_handle(TS_485 *s) } else if(s->pAckPkg->salver == G.md_slaver_info[4].slaver) { - //if(s->pAckPkg->buf[1] != 0 || s->pAckPkg->buf[2] != 0) //按键不为0 - //{ - // G.rfid = (U16)(s->pAckPkg->buf[1]) << 8 | (U16)(s->pAckPkg->buf[2]); - //} if(s->pAckPkg->buf[2] != G._keyled) //按键发生改变 { G.rfid = G._keyled = s->pAckPkg->buf[2]; diff --git a/source/bsp/bsp_config.c b/source/bsp/bsp_config.c index ca6eab6..fdeffea 100644 --- a/source/bsp/bsp_config.c +++ b/source/bsp/bsp_config.c @@ -193,7 +193,7 @@ void L0_cpu_init(void) } //------------------------------串口协议配置 ------------------------------------ -TS_Handle_PH3 s_uart0_rec; +//TS_Handle_PH3 s_uart0_rec; TS_Handle_PH4 s_uart2_rec; TS_Handle_PH3 s_uart3_rec; TS_Handle_0d0a s_uart4_at_rec; @@ -211,12 +211,14 @@ void L1_s2b_PH4_2(unsigned char sbufreg) L1_s2b_PH4(&s_uart2_rec); } +#if 0 //uart0 void L1_s2b_PH3_0(unsigned char sbufreg) { s_uart0_rec.reg = sbufreg; L1_s2b_PH3(&s_uart0_rec); } +#endif //uart3 @@ -245,12 +247,14 @@ void L1_s2b_gm35(unsigned char sbufreg) void L1_uart_tpc_config(void) { +#if 0 //uart0 protocol setting... s_uart0_rec.head = 0; s_uart0_rec.ok = 0; s_uart0_rec.head_0 = D_CMD_Filter1_ff; s_uart0_rec.head_1 = D_CMD_Filter2_fe; s_uart0_rec.sp = (U8*)&(s_uart0_rec.ts_ccmodbus); +#endif //uart2 protocol setting... s_uart2_rec.head = 0; @@ -262,7 +266,7 @@ void L1_uart_tpc_config(void) s_uart3_rec.ok = 0; s_uart3_rec.head_0 = D_CMD_Filter1_ff; s_uart3_rec.head_1 = D_CMD_Filter2_fe; - s_uart3_rec.sp = (U8*)&(s_uart0_rec.ts_ccmodbus); + s_uart3_rec.sp = (U8*)&(s_uart3_rec.ts_ccmodbus); //uart4 s_uart4_at_rec.head = 0; @@ -277,7 +281,7 @@ void L1_uart_tpc_config(void) s_uart4_tcp_rec.head_1 = D_CMD_Filter2_fe; s_uart4_tcp_rec.sp = (U8*)&(s_uart4_tcp_rec.ts_ccmodbus); - Lp0_uart0_fun = L1_s2b_PH3_0; + //Lp0_uart0_fun = L1_s2b_PH3_0; Lp0_uart2_fun = L1_s2b_PH4_2; Lp0_uart3_fun = L1_s2b_PH3_3; Lp0_uart4_fun = L1_s2b_gm35; diff --git a/source/tpc/tpc_0d0a.h b/source/tpc/tpc_0d0a.h index c5efa27..426e5c4 100644 --- a/source/tpc/tpc_0d0a.h +++ b/source/tpc/tpc_0d0a.h @@ -4,7 +4,7 @@ #include "../clib/Type.h" ///----------------------------------------------------------------------------------------- -#define D_s_SSTR_0D0A_len 128 //str类的协议需要长度大一些,容易bug的地方,限制为接收64bytes的数据 +#define D_s_SSTR_0D0A_len 64 //str类的协议需要长度大一些,容易bug的地方,限制为接收64bytes的数据 #define FLAG_NONE 0 #define FLAG_DISCARD 1 #define FLAG_CCID 2 diff --git a/source/tpc/tpc_ccmodbus.h b/source/tpc/tpc_ccmodbus.h index a78471a..117e161 100644 --- a/source/tpc/tpc_ccmodbus.h +++ b/source/tpc/tpc_ccmodbus.h @@ -66,7 +66,7 @@ msp/uartx.c 底层代码 和cpu相关 /// 协议表达的意思为地址为0x52的从机, 功能码16 数据为11 22 33 44,校验码 F5 9F /// 校验码的范围为 -#define D_s_PH3_ccmodbus_max 128 +#define D_s_PH3_ccmodbus_max 64 #define D_s_PH3_ccmodbus_min 4 typedef struct