From bb87816a05c2058a7a9da817997d382f3fadbf74 Mon Sep 17 00:00:00 2001 From: zhangsan Date: Fri, 11 Dec 2020 17:37:18 +0800 Subject: [PATCH] =?UTF-8?q?v1.1=20485=E8=BD=AE=E8=AF=A2=E6=B5=8B=E8=AF=95o?= =?UTF-8?q?k?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../soft_gsm_main.sip_sym | Bin 563192 -> 563192 bytes .../soft_gsm_main.sip_xm | Bin 300 -> 300 bytes .../soft_gsm_main.siwork | Bin 85674 -> 91028 bytes source/app/app_common.c | 2 + source/app/app_common.h | 4 +- source/app/app_task_485.c | 7 +- source/app/app_task_485_control.c | 8 ++- source/app/app_task_485_control.h | 2 +- source/app/main.c | 5 ++ source/ctask/task.h | 6 +- source/ctask/tick.c | 19 ++--- source/ctask/tick.h | 5 +- source/msp/UART2.c | 66 +++++++++--------- source/msp/time.c | 14 +++- source/tpc/tpc_modbus.c | 2 +- 15 files changed, 83 insertions(+), 57 deletions(-) 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 00c68cde107c395f333a071e5f2d5fc0baa2fe49..6bffbb8342aafeda294f273fbb97bd5ca5d185fe 100644 GIT binary patch delta 1739 zcmXX`Z)_Ar6yMpKo7?N{***3OD8(*tMBt!oL5di(R|2-x60cE9jR;o-LKBe!C4K>H zp;8hr&6XkeKuz2ROdwv;l527eRC=YAKMM7VML{Yp1Oh=!`T>%veDKZnCV6?k`OSO3 zee-r^COT$Mbj;4nb4k*Nl0+ZmNK&yXN$1^?)OC8+C;_A2;Y&E>5}&75k|dI`VB&3k z^HgXol&N<JW89h0By&&Ks9nu^vDNXJ66Kky4CKBNBH!QH+ z3iax^)QOhyy!0KNN6IXo+Dp9@*)Ft<=cN2N826oi{$z^=RxUR0N_jNaN+~>km1*G5 zAsT3NoRl|KMEQ6bg>-_gQYsv z#PGfz0;yxN)6uYT8MNPGZ$ZZ+mdE|o8tH`{zp;`7rp! z;kD;T0qprnq`I9H>d#;i=FcMQg8|dFUdn_GhGvqD_ zHVm_a5V=eJ@Z@WkAJpp%U!QiD>J&Sf!G}K6lRekjYCIkdxILED%J`)3cP1W*o6OHo ztksgy8zRp5178Y}{32S$C-223|y-(n$G&bIBFKH9yDkN;c2(|abx zPhpY}KgI8i>apec93EM{62c>_0kjboO42`>pO9(L7IWw@Zo5=?(vjsO4v delta 1711 zcmX|C4{Q@v7{7P-`g*L_?7Az0QeA}-g^h6o1&K3sWXMnmCGuwp6N?IgglI`-5CgLt ze}+=b&1d=nl6Yh!5;I(}kel+aV*`f*b~q5?gi44Zh)E5SED;mG*EL-7<@>$g_vgNQ z?|t75ca0zJ8b5lpTasRvB>G2*B+bwyDJ4nL(IZdaBoORXd})_F+vj-$IZ}|x=|#rs z#~{0gQ12vUGAISjdwLCiZIZ=v8uei+=^P5CF6gz;qY;B!lM@hrmr!0aCCI}S7DUPv z$}^_UZ&%nnTj7T#TVx%~^D^a~l?iTF`FZG19qdw!iB3sCDuezzD|LRfO6Pi&1+n#5 z2No^$7vI*;k5qL)yh^5C4^n4}^ch&?r3N?Sly9Dz0DB#wJ`vVevnbNihVkOBA#Qs`U@jj?WSC> z-A|73mX%|8UjeO}Gfv(prJLt0Qy|;PLVS3x#lzbv?0=I4dFRWP?`w=VP#$Ss`Ll7+{s+W?raIz_yvx5B?IOgFeAUd3=5XtWm1w za-n;Q|6XCF%~t}RNBP5+2*mPK z6G@~Od2QU__nN~z)fxdyb7|?p<`V?00X($}+ah4zca3;ffiJEYR8-3I%{5!=TiWVd z2#V~~wuOh=u69afPh*jFNiR9aIi1BI(|{jchV)k`1KJzRsx)G_=x!KJY639+ulvi$2 zd8}_NM80DdWM`2O(Bp{WoQ0rUAp0#hg@&yx2IZ^WGtXlIbhYG}*|6wjcssTWaf zrxJo^`_L`-R|tj>K!(d9u+Aci&PG&s4pDXbU1j4*NmYX-0Wub{xb*G9 zETT}vLpe%8!{RNn0rt<# zCQm`_AR8y29tA50*$#-+U~ByIx!Vug6_$YLE$Zik8+GTz6;?+;KaAhSFv~cUf_8kr zu;q9|n&gr83Gf384JUC8y+7SbVf{6xJGZa1B?MA;nV-}5bZGpQg=N+Rk;RZ9o+Us(`hlV`A-DF_r zaUwSUr;*2DakpZ$P8aDaie1lPV7l6Y zgK6aO#jip5pffz#?r#-8EO=gUWyMjj3^q_=Bxi`aaLhyJ`)Ux5 Silz7sKy;HDbk@#Pt?2*sJr2SE 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 61cd49577365c77b34cebc4d6592622c6cc9c7bd..aa2bdf78528999fcbbb51b664fa97f02eec9a872 100644 GIT binary patch delta 22 bcmZ3(w1$a=0SG3t^fNL{oDvQs-Z%gNIS>WF delta 22 ccmZ3(w1$a=fq{X2B1=Cb`@|{XK;n%906EPC)c^nh diff --git a/si4/soft_gsm_main.si4project/soft_gsm_main.siwork b/si4/soft_gsm_main.si4project/soft_gsm_main.siwork index aa5eb16eaab2e92bfb1b060884f87c455f171a61..7b1667e454a3a835fa838084c4f450ed4d29e850 100644 GIT binary patch literal 91028 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 //Lc_delay_ms(70); L0_uart2_sendArray((U8*)&s->loopPkg,s->pkglen); - s->sendStamp = s_nos_tick.t_50ms; + s->sendStamp = s_nos_tick.t_5ms; L2_task_go(D_task_485_wait_modbus_ack); TTSS_Task_step(D_task_485_wait_modbus_ack) - if(s_nos_tick.t_50ms - s->sendStamp >= 2) + if(s_nos_tick.t_5ms - s->sendStamp >= 20) { if(s_uart2_rec.ok) { @@ -63,7 +63,8 @@ void L3_task_485_handle(TS_485 *s) if(s->pAckPkg->salver == G.slaver_info[0].slaver && s->pAckPkg->oper == MODBUS_OPER_READ) { G.total_weight = - s->pAckPkg->buf[1] >> 24 | s->pAckPkg->buf[2] >> 16 | s->pAckPkg->buf[3] >> 8 | s->pAckPkg->buf[4]; + (S32)(s->pAckPkg->buf[1]) << 24 | (S32)(s->pAckPkg->buf[2]) << 16 | (S32)(s->pAckPkg->buf[3]) << 8 + | (S32)(s->pAckPkg->buf[4]); } } } diff --git a/source/app/app_task_485_control.c b/source/app/app_task_485_control.c index d94a741..5566c54 100644 --- a/source/app/app_task_485_control.c +++ b/source/app/app_task_485_control.c @@ -24,6 +24,12 @@ 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) + //L0_uart0_ulhex(s->total_weight_pool); + //Lc_delay_ms(70);// 2000--7s + //L0_uart0_uc(' ');L0_uart0_uc(' ');L0_uart0_uc(' '); + //Lc_delay_ms(70);// 2000--7s + //L0_uart0_0d0a(); + //L0_uart0_ulhex(G.total_weight); if(s->total_weight_pool != G.total_weight) { G.slaver_info[1].mask = 1; @@ -35,7 +41,7 @@ void L3_task_485_control_handle(TS_485_control *s) { G.slaver_info[2].mask = 1; //G.slaver_info[4].mask = 1; - s->total_weight_pool = G.total_weight; + s->rfid_pool = G.rfid; } L2_task_go(D_task_485_control_01); diff --git a/source/app/app_task_485_control.h b/source/app/app_task_485_control.h index e035088..f4d1f29 100644 --- a/source/app/app_task_485_control.h +++ b/source/app/app_task_485_control.h @@ -9,7 +9,7 @@ typedef struct { TS_task task; S32 total_weight_pool; - S32 rfid_pool; + U16 rfid_pool; }TS_485_control; extern TS_485_control ts_485_control; diff --git a/source/app/main.c b/source/app/main.c index 7ea7390..043d263 100644 --- a/source/app/main.c +++ b/source/app/main.c @@ -118,6 +118,7 @@ void main(void) //----------------------------------------------- //系统主循环 //----------------------------------------------- + while(9) { if(1 == s_nos_tick.t1s_heatbeart) @@ -125,6 +126,10 @@ void main(void) s_nos_tick.t1s_heatbeart = 0; //L0_uart0_uc('.'); L0_uart0_sendArray("abcdefg", 7); + D_P03_REV(); + D_P04_REV(); + D_P05_REV(); + D_P06_REV(); } //串口3 RFID接收 L3_UARTcom3_exp_protocol(&s_uart3_rec); diff --git a/source/ctask/task.h b/source/ctask/task.h index 0e15c8a..4a53928 100644 --- a/source/ctask/task.h +++ b/source/ctask/task.h @@ -68,7 +68,7 @@ typedef struct _ts_task /// Delay_cycle适用于 时间短的,其一次循环取决于主循环的时间,和Tdelay比,Cdelay长时间计时误差大 #define L2_task_switch_default_idelay(); \ case D_task_Tdelay:\ - if (s_nos_tick.t_50ms >= s->task.n)\ + if (s_nos_tick.t_5ms >= s->task.n)\ {\ L2_task_delay_over();\ }\ @@ -172,7 +172,7 @@ typedef struct _ts_task //>>L2_task_delay一定要放在L2_task_go之后 #define L1_task_Tdelay(delay_n) s->task.sh_next = s->task.sh;\ s->task.sh = D_task_Tdelay;\ - s->task.n = delay_n + s_nos_tick.t_50ms; + s->task.n = delay_n + s_nos_tick.t_5ms; //>>L2_task_delay一定要放在L2_task_go之后 @@ -223,7 +223,7 @@ extern void L1_task_init(TS_task *s); { \ s->task.sh_next = next;\ s->task.sh = D_task_Tdelay;\ - s->task.n = (delay_n) + s_nos_tick.t_50ms; \ + s->task.n = (delay_n) + s_nos_tick.t_5ms; \ } \ else \ { \ diff --git a/source/ctask/tick.c b/source/ctask/tick.c index 973e547..82d0acf 100644 --- a/source/ctask/tick.c +++ b/source/ctask/tick.c @@ -30,12 +30,12 @@ void L1_tick_init(void) s_nos_tick.t1s_heatbeart= 0; s_nos_tick.flag_50ms = 0; - s_nos_tick.t_50ms = 0; + s_nos_tick.t_5ms = 0; + //s_nos_tick.t_50ms = 0; s_nos_tick.t_100ms = 0; s_nos_tick.t_1s = 0; s_nos_tick.flag_1s = 0; s_nos_tick.t_n = 0; - } #if 0 @@ -70,15 +70,16 @@ void L1_tick_tick (void) #else void L1_tick_tick (void) { - /// 65535*65535 /3600/24/365=139nian/s=1.39nian/10ms - ///�൱��1.39���t_10ms ��������ڵ�ع����ϵͳ���?��ȫ�������� - // 4,294,836,225 = 65535*65535 ;3600*24*60*60 = 31,536,000��/�� + /// 65535*65535 /3600/24/365=139nian/s=1.39nian/10ms + ///相当于1.39年后t_10ms 溢出,对于电池供电的系统而言 完全可以满足 + // 4,294,836,225 = 65535*65535 ;3600*24*60*60 = 31,536,000秒/年 s_nos_tick.tp_count++; - s_nos_tick.t_50ms ++;//D_led_D1_REV(); 20160522 ��֤ - if(s_nos_tick.t_50ms % D_TIMER0_1S_COUNT == 0) + //s_nos_tick.t_50ms ++;//D_led_D1_REV(); 20160522验证 + s_nos_tick.t_5ms ++; + if(s_nos_tick.t_5ms % D_TIMER0_1S_COUNT == 0) { - // 65535*65535/24/60/60/356/10 =12.7�� - s_nos_tick.t_1s ++;//// 65535*65535/24/60/60/356/10 =12.7�� + // 65535*65535/24/60/60/356/10 =12.7年 + s_nos_tick.t_1s ++; s_nos_tick.flag_1s2 = 1; s_nos_tick.t1s_heatbeart = 1; } diff --git a/source/ctask/tick.h b/source/ctask/tick.h index 1051aa3..4c66eab 100644 --- a/source/ctask/tick.h +++ b/source/ctask/tick.h @@ -20,8 +20,9 @@ struct _s_nos_tick_ vU8 flag_50ms; vU32 sys_clock; vU32 t_n; // noos系统定时器最小技术单元 - vU32 t_50ms; // noos 系统定时器10m技术 + //vU32 t_50ms; // noos 系统定时器10m技术 vU32 t_100ms; + vU32 t_5ms; vU32 t_1s; vU8 flag_1s; vU8 flag_1s2; @@ -55,7 +56,7 @@ extern struct _s_nos_tick_ s_nos_tick; #define D_Tdelay_10min (D_Tdelay_1s*60 * 10) #define D_Tdelay_1h (D_Tdelay_1min*60) #define D_Tdelay_1day (D_Tdelay_1h*24) -#define D_TIMER0_1S_COUNT 20 +#define D_TIMER0_1S_COUNT 200 //#define D_10mS 1//D_TIMER0_10MS_COUNT //#define D_100mS (D_10mS*10) //#define D_1S (D_10mS*100) diff --git a/source/msp/UART2.c b/source/msp/UART2.c index f5d5f92..6965ea2 100644 --- a/source/msp/UART2.c +++ b/source/msp/UART2.c @@ -56,6 +56,7 @@ msp/uartx.c 底层代码 和cpu相关 缓存发送也放在里面 ********************************************************************************/ #include "uart2.h" #include "../bsp/bsp_485.h" +#include "../app/app_common.h" struct _s_uart2_send_buf_ s_uart2_send_shop; struct _s_uart2_send_buf_ s_uart2_send_depot; @@ -165,6 +166,7 @@ void INTERRUPT_uart2(void) D_SERVE_uart2// using 2 /// output: 对应的结构体变量中携带 缓存buf和协议ok的标志 //s_uart2_rec.reg = L0_uart2_get(); //s_uart2_rec.ok = 1; + G.modbusstmp = s_nos_tick.t_5ms; (*Lp0_uart2_fun)(L0_uart2_get()); //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -194,44 +196,40 @@ void INTERRUPT_uart2(void) D_SERVE_uart2// using 2 D_uart2_ES_INT_OPEN(); } -#if 0 - -void L0_uart2_0d0a(void) -{ - s_uart2_send_depot.max = 2; - s_uart2_send_depot.buf[0] = 0x0d; - s_uart2_send_depot.buf[1] = 0x0a; - s_uart2_send_depot.p = s_uart2_send_depot.buf; - L0_uart2_sendbuf(); -} - // L0_uart2_uc(cguHex2Char[D_uc_low(s->sec)][0]); -void L0_uart2_uchex(U8 ww) -{ - s_uart2_send_depot.max = 2; - s_uart2_send_depot.buf[0] = cguHex2Char[D_uc_low(ww)][1]; - s_uart2_send_depot.buf[1] = cguHex2Char[D_uc_high(ww)][1]; - s_uart2_send_depot.p = s_uart2_send_depot.buf; - L0_uart2_sendbuf(); -} -void L0_uart2_ulhex(vU32 ww) +void timer0_isrHanddle (void) interrupt 1 { - U_U32 ultemp; - ultemp.dWord = ww; - L0_uart2_uchex(ultemp.BYTE4.byte0); - L0_uart2_uchex(ultemp.BYTE4.byte1); - L0_uart2_uchex(ultemp.BYTE4.byte2); - L0_uart2_uchex(ultemp.BYTE4.byte3); -} + NOP(); + TF0 = 0; + + //modbus协议处理 + if(s_uart2_rec.head == 1 && G.modbusstmp - s_nos_tick.t_5ms >= 1) //收到一条协议 + { + s_uart2_rec.head = 0; + crc16_irq(s_uart2_rec.crc,s_uart2_rec.buf,s_uart2_rec.num - 2); + if(s_uart2_rec.crc[0] == s_uart2_rec.buf[s_uart2_rec.num-2] && s_uart2_rec.crc[1] == s_uart2_rec.buf[s_uart2_rec.num-1]) + { + if(s_uart2_rec.ok == 0) + { + s_uart2_rec.ok = 1; + } + //D_P32_REV(); + } + } -void L0_uart2_sendstr(U8 *str) -{ - //L0_uart2_sendbuf(str,strlen(str)); - s_uart2_send_depot.max = strlen(str); - s_uart2_send_depot.p = str; - L0_uart2_sendbuf(); -} + //tick处理 +#if 0 + /// 65535*65535 /3600/24/365=139nian/s=1.39nian/10ms + ///相当于1.39年后t_10ms 溢出,对于电池供电的系统而言 完全可以满足 + // 4,294,836,225 = 65535*65535 ;3600*24*60*60 = 31,536,000秒/年 + s_nos_tick.t_10ms ++;//D_led_D1_REV(); 20160522 验证 +#else + L1_tick_tick(); ///系统中的1sflag 和以10ms为颗粒的延时使用 为tdelay服务 #endif + NOP(); +} + + diff --git a/source/msp/time.c b/source/msp/time.c index 06c682d..b3b34f6 100644 --- a/source/msp/time.c +++ b/source/msp/time.c @@ -5,17 +5,26 @@ /*************************初始化定时器0*****************************/ void L0_timer0_Init(void) //50毫秒@11.0592MHz { +#if 0 //50ms@11.0592MHz AUXR &= 0x7F; //定时器时钟12T模式 TMOD &= 0xF0; //设置定时器模式 TL0 = 0x00; //设置定时初值 TH0 = 0x4C; //设置定时初值 TF0 = 0; //清除TF0标志 TR0 = 1; //定时器0开始计时 - +#else //5ms@11.0592MHz + AUXR &= 0x7F; //定时器时钟12T模式 + TMOD &= 0xF0; //设置定时器模式 + TL0 = 0x00; //设置定时初值 + TH0 = 0xEE; //设置定时初值 + TF0 = 0; //清除TF0标志 + TR0 = 1; //定时器0开始计时 +#endif ET0 = 1; //add by cc } - + /********************** Timer0中断函数************************/ +#if 0 //该函数移入uart2.c void timer0 (void) interrupt 1 { NOP(); NOP(); NOP(); @@ -24,6 +33,7 @@ void timer0 (void) interrupt 1 /// BITN_1(DR_who_wakeup, DRB_who_wakeup_timer0); NOP(); NOP(); NOP(); } +#endif /******************************END*********************************/ diff --git a/source/tpc/tpc_modbus.c b/source/tpc/tpc_modbus.c index 2010364..b12e680 100644 --- a/source/tpc/tpc_modbus.c +++ b/source/tpc/tpc_modbus.c @@ -81,7 +81,7 @@ U8 L3_pack_modbus_10(TS_PH4_modbus *pmodbus ,U8 slaverId, U16 reg, U16 num, U8 b } crc16(pmodbus->crc,&pmodbus->salver,2 + bufsize + bytes); pmodbus->buf[bufsize + bytes] = pmodbus->crc[0]; - pmodbus->buf[bufsize + bytes] = pmodbus->crc[1]; + pmodbus->buf[bufsize + bytes + 1] = pmodbus->crc[1]; return bufsize + bytes + 2 + 2; }