{
RsPoint=0;//FlagRs485=0; } //数据处理 } }
// 发送AT连机命令 char code AT_Code[]=\void Send_AT(void) {
unsigned char *p; while(1) {
ClrRsBuf(RsBuf,sizeof(RsBuf)); SendToTc35(AT_Tc35,2); //\ SendASC(OVER);
//************等待应答“ok\ ES=1; //必须中断 Delay(50);
P=strstr(RsBuf,AT_Code); if(p!=NULL) break; } )
//发送bps连机命令 void Send_BPS(void) {
SendToTc35(AT_Tc35,3); //\
SendToTc35(Bps_Tc35,sizeof(Bps_Tc35)-1);//\ SendASC(OVER); }
//设置文本 void SetText(void) {
SendToTc35(AT_Tc35,3); //\
SendToTc35(Text_tc35,sizeof(Text_tc35)-1);//\
SendASC(OVER); Delay(100): //删除短信息
unsigned char EraseMsg(unsigned char index) {
unsigned char *p,i=20;
SendToTc35(AT_Tc35,3); //\
SendToTc35(Erase_Tc35,sizeof(Erase_Tc35)-1);//\ SendASC(index); SendASC(OVER); ES=1; while(i--) {
Delay(200);
P=strstr(RsBuf,AT_Code); if(P!=NULL) {return 1;} } return 0; }
//读取短信息
char code Ask_No[]=\char code ERROR{]=\char code Ask_Tc35[]=\
unsigned char ReadMsg(unsigned char index) {
unsigned char *p,i; unsigned char Buf[40];
SendToTc35(AT_Tc35,3); //\
SendToTc35(Read_Tc35,sizeof(Read_Tc35)-1); SendASC(index); SendASC(OVER); ES=1; //必须中断 Delay(600); /*------- ES=0:
SendToTc35(RsBuf,99); ES=1; */|
p=strstr(RsBuf,ERROR); if(P!=NULL) {
Send_AT();return 0;
p=strstr(RsBuf,Ask_No);//无信息 if(p!=NULL)return 0;
p=strstr(RsBuf,Ask_Tc35);//20个字节后是MSG if(p==NULL) return 0; p=p+21;
for(i=0;i Buf[i]=*p++; } if(EraseMsg(index)==0) return 0; p=strcpy(RsBuf,Buf); //放回RsBuf return 1; ) //发送短信息 char code SK[]=\void SendMsgStart(void) { unsigned char *p,i=10; SendToTc35(AT_Tc35,3); //\ SendToTc35(Send_Tc35,sizeof(Send_Tc35)-1);//\SendASC(YinHao); SendToTc35(Mp1.Hand,sizeof(Mp1.Hand)); //\SendASC(YinHao); SendASC(OVER); ES=1; while(i--) { Delay(100); //Get\ p=strstr(RsBuf,SK);//\ if(p!=NULL) { ClrRsBuf(RsBuf,sizeof(RsBuf)); Delay(150); //Get\ break; } } }