#include "includes.h" SUT_MESS sutMess; void SMSInit(void) { memset((unsigned char *)&sutMess, 0, sizeof(SUT_MESS)); } void SetGotNewMessage(void) { unsigned char type,encode,def1,def2; type = sutMess.GBKMess1[0]; encode=sutMess.GBKMess1[1]; def1 = sutMess.GBKMess1[2]; def2 = sutMess.GBKMess1[3]; //处理分析消息类型 if(type == 0x30 && encode == 0x30 && def1 == 0x32 && def2 == 0x30) {//一键报警 sutMess.len -= 4; sutMess.Update=1;//收到一条消息标记 // sutMess.startCntFlag=1; // sutMess.skipCnt=0;//从此时开始计数 // sutMess.forcePullGroupOn=0; SlwTrace(INF,"Start",1); }else if(type == 0x01 && encode == 0x02) {//纯TTS播报 sutMess.len -= 4; sutMess.Update=2; SlwTrace(INF, "Pure TTS",1); }else if(type == 0x20 && encode == 0x20 && def1 == 0x20 && def2 == 0x20) {//全文本 //此终端不处理 SlwTrace(INF, "not handle",1); sutMess.len -= 4; sutMess.Update=0; } } void SMSHandle(void) { unsigned char temp1,temp2; unsigned short i; char buf[30]; static unsigned char cnt=0; unsigned char *p; // if(sutMess.startCntFlag) // { // if(++cnt > 80)//如果主频改了,这个值也要改 // {//秒粗计数器 // cnt=0; // if(++sutMess.skipCnt>20) // {//时间到了 // sutMess.startCntFlag=0; // SlwTrace(INF,"Timeout\r\n"); // } // } // } if(sutMess.Update == 1 || sutMess.Update == 2) { printf("TTS_LEN:%d\r\n",sutMess.len); p = sutMess.GBKMess1+4; for(i=0;i