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 bcc1a08..fef1fb7 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 20f8fa1..210a773 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 66280f8..8a3d955 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_task_485.c b/source/app/app_task_485.c index 6ac80fc..5672e78 100644 --- a/source/app/app_task_485.c +++ b/source/app/app_task_485.c @@ -57,24 +57,32 @@ void L3_task_485_handle(TS_485 *s) if(s->pAckPkg->salver == G.md_slaver_info[s->slaverIndex].slaver) { s->ackFlag = 1; - //TODO 这里可以根据modbus协议让代码通用, - if(s->pAckPkg->salver == G.md_slaver_info[0].slaver && s->pAckPkg->oper == MODBUS_OPER_READ) - { - G.total_weight = - (S32)(s->pAckPkg->buf[1]) << 24 | (S32)(s->pAckPkg->buf[2]) << 16 | (S32)(s->pAckPkg->buf[3]) << 8 - | (S32)(s->pAckPkg->buf[4]); - } - else if(s->pAckPkg->salver == G.md_slaver_info[1].slaver && s->pAckPkg->oper == MODBUS_OPER_READ) + if(G.md_slaver_info[s->slaverIndex].mask == 1) { - G.asga.xaxis = (U16)(s->pAckPkg->buf[1]) << 8 | (U16)(s->pAckPkg->buf[2]); - G.asga.yaxis = (U16)(s->pAckPkg->buf[3]) << 8 | (U16)(s->pAckPkg->buf[4]); - G.asga.zaxis = (U16)(s->pAckPkg->buf[5]) << 8 | (U16)(s->pAckPkg->buf[6]); + G.md_slaver_info[s->slaverIndex].mask = 0; } - else if(s->pAckPkg->salver == G.md_slaver_info[4].slaver && s->pAckPkg->oper == MODBUS_OPER_READ) + + //TODO 这里可以根据modbus协议让代码通用, + if(s->pAckPkg->oper == MODBUS_OPER_READ) { - if(s->pAckPkg->buf[1] != 0 || s->pAckPkg->buf[2] != 0) //按键不为0 + if(s->pAckPkg->salver == G.md_slaver_info[0].slaver) + { + G.total_weight = + (S32)(s->pAckPkg->buf[1]) << 24 | (S32)(s->pAckPkg->buf[2]) << 16 | (S32)(s->pAckPkg->buf[3]) << 8 + | (S32)(s->pAckPkg->buf[4]); + } + else if(s->pAckPkg->salver == G.md_slaver_info[1].slaver) + { + G.asga.xaxis = (U16)(s->pAckPkg->buf[1]) << 8 | (U16)(s->pAckPkg->buf[2]); + G.asga.yaxis = (U16)(s->pAckPkg->buf[3]) << 8 | (U16)(s->pAckPkg->buf[4]); + G.asga.zaxis = (U16)(s->pAckPkg->buf[5]) << 8 | (U16)(s->pAckPkg->buf[6]); + } + else if(s->pAckPkg->salver == G.md_slaver_info[4].slaver) { - G.rfid = (U16)(s->pAckPkg->buf[1]) << 8 | (U16)(s->pAckPkg->buf[2]); + 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]); + } } } } @@ -82,10 +90,6 @@ void L3_task_485_handle(TS_485 *s) s->retryTimes++; if(s->ackFlag || s->retryTimes >= MODBUS_SLAVER_RETRY_MAX_TIME) { - if(G.md_slaver_info[s->slaverIndex].mask == 1) - { - G.md_slaver_info[s->slaverIndex].mask = 0; - } L2_task_go(D_task_485_switch_next_slaver); } else diff --git a/source/app/app_task_485_control.c b/source/app/app_task_485_control.c index 16aa660..034b719 100644 --- a/source/app/app_task_485_control.c +++ b/source/app/app_task_485_control.c @@ -10,7 +10,6 @@ void L3_task_485_control_init(void) L3_task_s_go(ts_485_control,D_task_init); ts_485_control.total_weight_pool = 0; ts_485_control.rfid_pool = 0; - ts_485_control.sendstmp = 0; } #define D_task_485_control_01 0x51 @@ -21,6 +20,7 @@ void L3_task_485_control_handle(TS_485_control *s) L2_task_go(D_task_485_control_01); TTSS_Task_step(D_task_485_control_01) + #if 0 if(s_nos_tick.t_1s - s->sendstmp >= 1) { s->sendstmp = s_nos_tick.t_1s; @@ -35,7 +35,7 @@ void L3_task_485_control_handle(TS_485_control *s) G.md_slaver_info[3].mask = 1; s->rfid_pool = G.rfid; } - #if 0 + #else if(s->total_weight_pool != G.total_weight) { G.thrombolytic_val = G.total_weight / 10 * G.p.thrombolytic_ratio / 10; diff --git a/source/app/app_task_485_control.h b/source/app/app_task_485_control.h index f508174..f4d1f29 100644 --- a/source/app/app_task_485_control.h +++ b/source/app/app_task_485_control.h @@ -10,8 +10,6 @@ typedef struct TS_task task; S32 total_weight_pool; U16 rfid_pool; - U32 sendstmp; - U8 sendflag; }TS_485_control; extern TS_485_control ts_485_control;