⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gsmcs.lst

📁 GSM短信收发
💻 LST
📖 第 1 页 / 共 3 页
字号:
 219   3          }//TEL_temp[18]  读出对方号码
 220   2            t=2; 
 221   2                i=0;
 222   2                for(j=15;j<25;j++){
 223   3                  if((uart_buff[j]==0x22)&&(uart_buff[j+1]==',')&&uart_buff[j+2]==0x22)   
 224   3                        break;
 225   3            }
 226   2            j=j+3;
 227   2            if(uart_buff[j]=='+') j=j+3;
 228   2                for(;j<40;j++){   
 229   3                  if(uart_buff[j]==0x22)   
 230   3                      break;
 231   3                  para_temp[t++]=uart_buff[j];
 232   3                      TEL_temp[i++]=uart_buff[j];
 233   3                }
 234   2                TEL_temp[i++]=0x0d ;
 235   2                TEL_temp[i++]=0x00 ;
 236   2                para_temp[t++]=0x0d;
 237   2                para_temp[t++]=0x00;para_temp[t++]=0x00;
 238   2      
 239   2            //---------------手机号码设置-------------
 240   2               if((i=strsearch("CHN"))){   // 发中文//有些比较重要的东西你可以存到卡就,重新开机也没有问题
 241   3                      system_server=SYS_ALARM;   
C51 COMPILER V7.06   GSMCS                                                                 04/12/2009 16:41:11 PAGE 5   

 242   3                      return;
 243   3                }       
 244   2            else if((i=strsearch("TLA"))){   // 存号码1
 245   3              para_temp[0]=0x31;
 246   3                      para_temp[1]=',';
 247   3              Send_AT_Command(PHONE_WRITE);   //  PHONE_WR// IO_OUT=0;
 248   3                      system_server=SYS_NUMSAVE;   //储存电话号码标志
 249   3                      return;
 250   3                }
 251   2                else if((i=strsearch("TLB"))){   // 存号码2
 252   3              para_temp[0]=0x32;
 253   3                      para_temp[1]=',';
 254   3              Send_AT_Command(PHONE_WRITE);   //  PHONE_WR// IO_OUT=0;
 255   3                      system_server=SYS_NUMSAVE;   //储存电话号码标志
 256   3                      return;
 257   3                }
 258   2                else if((i=strsearch("TLC"))){   // 存号码3
 259   3              para_temp[0]=0x32;
 260   3                      para_temp[1]=',';
 261   3              Send_AT_Command(PHONE_WRITE);   //  PHONE_WR// IO_OUT=0;
 262   3                      system_server=SYS_NUMSAVE;   //储存电话号码标志
 263   3                      return;
 264   3                }
 265   2            else{
 266   3              para_temp[0]=(num_tmp1/10)+0x30;
 267   3                      para_temp[1]=(num_tmp1%10)+0x30; 
 268   3                      para_temp[2]=0x0d;para_temp[3]=0x00;
 269   3                      Send_AT_Command(SMS_CMGD);
 270   3                      timer_S_cnt=0; 
 271   3      //              while(timer_S_cnt<10&&(AT_Command_Status==COMMAND_WAIT)) watch_dog_clear;
 272   3                      for(i=10;i<=MAX_TM-3;i++){    
 273   4                        uart_buff[i]=0;
 274   4              }
 275   3              Send_AT_Command(SIM_ID);
 276   3                      return;
 277   3                }
 278   2         }
 279   1      }
 280          
 281          void send_sms(){ //发送短信     
 282   1        uchar  j=1,i=1;
 283   1        Send_AT_Command(SIM_ID);
 284   1        switch(sms_tmp){
 285   2          case smss_save:  //  发送英文
 286   2            TMP_BUF=0;
 287   2                do{
 288   3                  para_temp[TMP_BUF]=TEL_temp[TMP_BUF];
 289   3                  TMP_BUF++;
 290   3            }while( TMP_BUF<=18);
 291   2            para_temp[TMP_BUF]=0x00;
 292   2                Send_AT_Command(SMS_CMGS);
 293   2            j=0;
 294   2                para_temp[j++]='S';para_temp[j++]='A';
 295   2                para_temp[j++]='V';para_temp[j++]='E';
 296   2            para_temp[j++]=':';para_temp[j++]=0x20;
 297   2            para_temp[j++]='O';para_temp[j++]='K';
 298   2            para_temp[j++]=0x1a;para_temp[j++]=0x0d;
 299   2                para_temp[j++]=0x00;para_temp[j]=0x00;
 300   2            Send_AT_Command(CMGS_MUB);
 301   2            break;
 302   2              case smss_break:  //  发送问题
 303   2                TMP_BUF=0;
C51 COMPILER V7.06   GSMCS                                                                 04/12/2009 16:41:11 PAGE 6   

 304   2                do{
 305   3                  para_temp[TMP_BUF]=TEL_temp[TMP_BUF];
 306   3                  TMP_BUF++;
 307   3            }while( TMP_BUF<=18);
 308   2            para_temp[TMP_BUF]=0x00;
 309   2                Send_AT_Command(SMS_CMGS);
 310   2            j=0;
 311   2                para_temp[j++]='R';para_temp[j++]='F';
 312   2                para_temp[j++]='C';para_temp[j++]='h';
 313   2            para_temp[j++]='a';para_temp[j++]='n';
 314   2            para_temp[j++]='g';para_temp[j++]='e';
 315   2            para_temp[j++]=0x1a;para_temp[j++]=0x0d;
 316   2                para_temp[j++]=0x00;para_temp[j]=0x00;
 317   2            Send_AT_Command(CMGS_MUB);
 318   2            break;
 319   2         case smss_cab:  //  发送问题
 320   2                TMP_BUF=0;
 321   2                do{
 322   3                  para_temp[TMP_BUF]=TEL_temp[TMP_BUF];
 323   3                  TMP_BUF++;
 324   3            }while( TMP_BUF<=18);
 325   2            para_temp[TMP_BUF]=0x00;
 326   2                Send_AT_Command(SMS_CMGS);
 327   2            j=0;
 328   2                para_temp[j++]='S';para_temp[j++]='y';
 329   2                para_temp[j++]='s';para_temp[j++]='t';
 330   2            para_temp[j++]='e';para_temp[j++]='m';
 331   2            para_temp[j++]='O';para_temp[j++]='K';
 332   2            para_temp[j++]=0x1a;para_temp[j++]=0x0d;
 333   2                para_temp[j++]=0x00;para_temp[j]=0x00;
 334   2            Send_AT_Command(CMGS_MUB);
 335   2            break;             
 336   2          case smss_para:         //发送中文
 337   2                     //0011000D91683118180295F20008A70A8F66670953719669FF01
 338   2            Send_AT_Command(SMS_CMGF);
 339   2            TMP_BUF=0;
 340   2                para_temp[TMP_BUF++]='2';   //短信号码长度,如果每加一个中文,长度加2
 341   2                para_temp[TMP_BUF++]='5';
 342   2                para_temp[TMP_BUF++]=0x0d;
 343   2                para_temp[TMP_BUF++]=0x00;
 344   2                para_temp[TMP_BUF++]=0x00;
 345   2            Send_AT_Command(SMS_CMGS);
 346   2            TMP_BUF=0;
 347   2                para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='1';para_temp[TMP_BUF++]='1';
 348   2                para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='D';
 349   2            para_temp[TMP_BUF++]='9';para_temp[TMP_BUF++]='1';para_temp[TMP_BUF++]='6';para_temp[TMP_BUF++]='8';
 350   2                                              //3118180295F2
 351   2            j=0;       //发送对方号码
 352   2                do{       //动态电话号码
 353   3                  para_temp[TMP_BUF++]=TEL_temp[j+1];
 354   3                      para_temp[TMP_BUF++]=TEL_temp[j];
 355   3                      j=j+2;
 356   3                  if(TEL_temp[j+1]==0x0d){ 
 357   4                        para_temp[TMP_BUF++]='F';
 358   4                        para_temp[TMP_BUF++]=TEL_temp[j];
 359   4                        break;
 360   4                      }
 361   3                }while(j<=18);
 362   2                    //短信格式设备
 363   2            para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='8';
 364   2                para_temp[TMP_BUF++]='A';para_temp[TMP_BUF++]='0';
 365   2                                 //短信长度、 5个字,10个英文
C51 COMPILER V7.06   GSMCS                                                                 04/12/2009 16:41:11 PAGE 7   

 366   2                para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='A';
 367   2                                       //短信内容
 368   2                                      //53D1 9001 6210 529F FF01 发送成功
 369   2                para_temp[TMP_BUF++]='5';para_temp[TMP_BUF++]='3';para_temp[TMP_BUF++]='D';para_temp[TMP_BUF++]='1';
 370   2                para_temp[TMP_BUF++]='9';para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='1';
 371   2                para_temp[TMP_BUF++]='6';para_temp[TMP_BUF++]='2';para_temp[TMP_BUF++]='1';para_temp[TMP_BUF++]='0';
 372   2                para_temp[TMP_BUF++]='5';para_temp[TMP_BUF++]='2';para_temp[TMP_BUF++]='9';para_temp[TMP_BUF++]='F';
 373   2                para_temp[TMP_BUF++]='F';para_temp[TMP_BUF++]='F';para_temp[TMP_BUF++]='0';para_temp[TMP_BUF++]='1';
 374   2                      //短信结束符
 375   2            para_temp[TMP_BUF++]=0X1A;para_temp[TMP_BUF++]=0X0D;
 376   2            para_temp[TMP_BUF++]=0X00;
 377   2            Send_AT_Command(CMGS_MUB);
 378   2            break;
 379   2                      //======================发送收到设备开启指令================================================
 380   2          default:
 381   2                              //system_server=SYS_SMSR;
 382   2                break;
 383   2        }
 384   1        system_server=SYS_SMSR;
 385   1        receive_count=0;
 386   1        AT_Command_Status=COMMAND_WAIT;       //设置接收成功标志
 387   1        send_count=0xff;timer_S_cnt=0;
 388   1        while(timer_S_cnt<15&&(AT_Command_Status==COMMAND_WAIT)){
 389   2          if(strsearch("+CMGS:"))   break;
 390   2          else if(txd_rxd_bit) break;
 391   2      //      watch_dog_clear;
 392   2        }
 393   1        para_temp[0]=(num_tmp1/10)+0x30;
 394   1        para_temp[1]=(num_tmp1%10)+0x30; 
 395   1        para_temp[2]=0x0d;
 396   1        para_temp[3]=0x00;
 397   1        Send_AT_Command(SMS_CMGD);
 398   1        timer_S_cnt=0; 
 399   1      //  while(timer_S_cnt<2&&(AT_Command_Status==COMMAND_WAIT)) watch_dog_clear;
 400   1        Send_AT_Command(SIM_ID);
 401   1                //   IO_OUT=1;
 402   1        for(i=0;i<=MAX_TM-2;i++){      
 403   2          uart_buff[i]=0;
 404   2        }
 405   1      }
 406          
 407          void Initialize_Model(void){    //初始化 PIN检测
 408   1        uchar i;
 409   1        IO_IGT=0;     
 410   1        for(i=0;i<12;i++){//进行初始化,并显示
 411   2              Send_AT_Command(TC35_INIT); 
 412   2              if(uart_buff[1]==0x0d&&uart_buff[0]==0x30){ 
 413   3            chinit=1;  
 414   3                break;
 415   3              }
 416   2          if((i%4)==0){
 417   3                IO_IGT=1;
 418   3              }
 419   2              else if((i%2)==0){
 420   3                IO_IGT=0;
 421   3          }
 422   2              timer_S_cnt=0;  
 423   2      //      while(timer_S_cnt<5&&(AT_Command_Status==COMMAND_WAIT)) watch_dog_clear;
 424   2        }      
 425   1        if(i>=11){
 426   2              chinit=0; 
 427   2              goto at_eer;
C51 COMPILER V7.06   GSMCS                                                                 04/12/2009 16:41:11 PAGE 8   

 428   2        }
 429   1        for(i=0;i<12;i++){
 430   2          if(Send_AT_Command(CHECK_PIN)){//如有收到回应进行分析收到的信息,      
 431   3                uart_buff[receive_count]=0;
 432   3                if(strsearch("READY")!=0)
 433   3              {chping=1;
 434   4               break;}
 435   3          }
 436   2          timer_S_cnt=0;
 437   2          // while(timer_S_cnt<2&&(AT_Command_Status==COMMAND_WAIT)) watch_dog_clear;
 438   2                //LED_INT=~LED_INT;
 439   2        }
 440   1        if(i>=11){
 441   2          chping=0;
 442   2              at_eer: 
 443   2          Send_AT_Command(RESET_TC35);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -