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

📄 gsm.h

📁 使用SIM300Z做车载台的产品
💻 H
📖 第 1 页 / 共 2 页
字号:
#include <string.h>
/*************************************************
                 变量定义
*************************************************/
int  nTX1_Len = 0;
char UART1_TX_BUF[200];
char ControlCenter_pone[]="13571955693";
char CarMaster_pone[]="15929941268";     // 追踪者手机号码 
/*************************************************
  函数(模块)名称:设置AT命令GPRS模式
  功能:	
  本函数(模块)调用的函数(模块)清单:
  
  输入参数:无       		
  输出参数:  无     		
  函数返回值说明:  		
  使用的资源    		
  其它说明:       		
*************************************************/
int sim300_at(char pBuf[])
             {
               int i;
               char gprs_at[3]="AT\r";
               for (i=0;i<3;i++)
               pBuf[i]=gprs_at[i];
               return 3;
             }


                
           
/*************************************************
  函数(模块)名称:设置AT命令显示模式
  功能:	
  本函数(模块)调用的函数(模块)清单:
  
  输入参数:无       		
  输出参数:  无     		
  函数返回值说明:  		
  使用的资源    		
  其它说明:       		
*************************************************/
int sim300_init(char pBuf[])
             {   
                   int i;
                   char tc35_initBuf[5] = "ATE0\r";
                   for (i=0;i<5;i++)
                   pBuf[i]=tc35_initBuf[i];
                   return 5;
             }
/*************************************************
  函数(模块)名称:设置TEXT模式
  功能:	
  本函数(模块)调用的函数(模块)清单:
  
  输入参数:无       		
  输出参数:  无     		
  函数返回值说明:  		
  使用的资源    		
  其它说明:       		
*************************************************/

int setCmgf(char pBuf[])
           {   
                 int i;
                 char setCmgf_Buf[10] = "AT+CMGF=1\r";    
                 for (i=0;i<10;i++)
                 pBuf[i]=setCmgf_Buf[i];
                 return 10;
           }

/*************************************************
  函数(模块)名称:设置PUD模式
  功能:	
  本函数(模块)调用的函数(模块)清单:
  
  输入参数:无       		
  输出参数:  无     		
  函数返回值说明:  		
  使用的资源    		
  其它说明:       		
*************************************************/
int setCmgf_pdu(char pBuf[])
               {
                     int i;
                     char setCmgf_pdu_Buf[10] = "AT+CMGF=0\r";    
                     for (i=0;i<10;i++)
                     pBuf[i]=setCmgf_pdu_Buf[i];
                     return 10;
               }


/*************************************************
  函数(模块)名称:短信回显函数
  功能:	
  本函数(模块)调用的函数(模块)清单:
  
  输入参数:无       		
  输出参数:  无     		
  函数返回值说明:  		
  使用的资源    		
  其它说明:       		
*************************************************/
int SetCnmi(char pBuf[])
           {
                 int i;
                 char SetCnmi_Buf[12] = "AT+CNMI=2,2\r";          //不存卡直接读
                 for (i=0;i<12;i++)
                 pBuf[i]=SetCnmi_Buf[i];
                 return 12;
           }


int setCmgs(char pBuf[])
{
    int i; 
    char setCmgs_Buf[25] = "AT+CMGS= +86"; //中心号码  
    strcat(setCmgs_Buf,ControlCenter_pone);
    setCmgs_Buf[8]=0x22;
    setCmgs_Buf[23]=0x22;
    for (i=0;i<25;i++)
    pBuf[i]=setCmgs_Buf[i];
    pBuf[24]=13;
    return 25;
}
/*************************************************
  函数(模块)名称: 数据整合
  功能:	
  本函数(模块)调用的函数(模块)清单:
  
  输入参数:无       		
  输出参数:  无     		
  函数返回值说明:  		
  使用的资源    		
  其它说明:       		
*************************************************/
int Set_inquire(char pBuf[])
               {   
                     char Checkout; 
                     int i;
                     pBuf[0] = '$';  
                     pBuf[1] = 'H';  
                     pBuf[2] = 'X';  
                     pBuf[3] = 'M';  
                     pBuf[4] = 'B';  
                     pBuf[5] = 'W';
                     pBuf[6] = 'I';
                     pBuf[7] = ',';
                     pBuf[8] = sign_ifeffect;
                     pBuf[9] = ',';
                     pBuf[10] = 'L';
                     pBuf[11] = 'A';
                     pBuf[12] = 'T';
                     pBuf[13] = ':';
                     pBuf[14] = user_location.lat[0];
                     pBuf[15] = user_location.lat[1];  
                     pBuf[16] = user_location.lat[2];
                     pBuf[17] = user_location.lat[3];
                     pBuf[18] = user_location.lat[4];
                     pBuf[19] = user_location.lat[5];
                     pBuf[20] = user_location.lat[6];
                     pBuf[21] = user_location.lat[7];
                     pBuf[22] = user_location.lat[8];
                     pBuf[23] = 'L';
                     pBuf[24] = 'O';
                     pBuf[25] = 'N';
                     pBuf[26] = ':';
                     pBuf[27] = user_location.longi[0];
                     pBuf[28] = user_location.longi[1];
                     pBuf[29] = user_location.longi[2];
                     pBuf[30] = user_location.longi[3];
                     pBuf[31] = user_location.longi[4];
                     pBuf[32] = user_location.longi[5];
                     pBuf[33] = user_location.longi[6]; 
                     pBuf[34] = user_location.longi[7];
                     pBuf[35] = user_location.longi[8];
                     pBuf[36] = user_location.longi[9];
                     pBuf[37] = 'T';
                     pBuf[38] = 'I';
                     pBuf[39] = 'M';
                     pBuf[40] = ':';
                     pBuf[41] = UTC_time[0]; 
                     pBuf[42] = UTC_time[1]; 
                     pBuf[43] = UTC_time[2]; 
                     pBuf[44] = UTC_time[3]; 
                     pBuf[45] = UTC_time[4]; 
                     pBuf[46] = UTC_time[5]; 
                     pBuf[47] = 'S';
                     pBuf[48] = 'P';
                     pBuf[49] = 'E';
                     pBuf[50] = ':';
                     pBuf[51] = user_speed[0];   
                     pBuf[52] = user_speed[1];
                     pBuf[53] = user_speed[2];
                     pBuf[54] = user_speed[3];
                     pBuf[55] = user_speed[4];
                     pBuf[56] = user_speed[5];
                     pBuf[57] = 'D';
                     pBuf[58] = 'I';
                     pBuf[59] = 'R';
                     pBuf[60] = ':';
                     pBuf[61] = user_direction[0];
                     pBuf[62] = user_direction[1];
                     pBuf[63] = user_direction[2];
                     pBuf[64] = user_direction[3];
                     pBuf[65] = user_direction[4];
                     pBuf[66] = user_direction[5];
                     pBuf[67] = '*';
                     Checkout = pBuf[0];
                     for (i=1;i<68;i++) {Checkout^=pBuf[i];}    
                     pBuf[68] = Checkout/16;
                     if (pBuf[68]>9)
                        {
                              pBuf[68] = pBuf[68]+55;
                        }
                     else 
                     pBuf[68] = pBuf[68]+0x30;
                     pBuf[69] = Checkout%16;
                     if (pBuf[69]>9)
                        {
                              pBuf[69] = pBuf[69]+55;
                        }
                     else 
                     pBuf[69] = pBuf[69]+0x30;
                     pBuf[70] =26;  
                     return 71;
               }
/*************************************************
  函数(模块)名称:PUD汉字显示模块
  功能:	
  本函数(模块)调用的函数(模块)清单:
  
  输入参数:无       		
  输出参数:  无     		
  函数返回值说明:  		
  使用的资源    		
  其它说明:       		
*************************************************/    
void Sms_pdu_send(char pPhone[],char Cotent_index)  
                 {   
                       char pdu_Head[] = "0891683108200905F011000D91";  // 问题:中心号码的设置
                       char pdu_Mid[] = "000800";
                       char Data_len_hex[3];
                       char Len_cmgs[3];
                       char Ctr_z[2];
                       char OpenHint[]="8FFD8E2A5DF25F0059CB"; 
                       char Timetext[]="5B9A65F65DF25F00542F";  // 定时已开启
                       char longi[]="7ECF5EA6003A";             // 经度
                       char lati[]="7EAC5EA6003A";              // 纬度
                       char speed[]="901F5EA6003A";             // 速度
                       char time[]="65F695F4003A";              // 时间
                       char direction[]="65B95411003A";         // 方向
                       char Navi_close[]="4E2D5FC376D163A75DF2517395ED";        // "中心监控已关闭"
                       char Navi_open[]="4E2D5FC376D163A75DF262535F00";         // "中心监控已打开"
                       char longi_pdu[41];
                       char lati_pdu[37];
                       char time_pdu[25];
                       char speed_pdu[25];
                       char direction_pdu[25];
                       char pPhone_tran[15];
                       char phoneTemp[15];
                       int Len;   
                       int i,j;
    
                       Ctr_z[0]=26;
                       Ctr_z[1]='\0';
                       pPhone_tran[0]='8';
                       pPhone_tran[1]='6';
                       for(i=0;i<11;i++){pPhone_tran[i+2]=pPhone[i];}      
                       pPhone_tran[13]= 'F';
                       j = 0;
                       for(i = 0;i < 7;i++)
                          {
    	                        phoneTemp[j++] = pPhone_tran[2 * i + 1];
    	                        phoneTemp[j++] = pPhone_tran[2 * i];
                          }
                       phoneTemp[14]= '\0';
                       switch(Cotent_index)
                             {
                                   case 1:
                                          Len_cmgs[0]='1';
                                          Len_cmgs[1]='1';
                                          Len_cmgs[2]='9';
                                          UART1_TX_BUF[0]='a';      
                                          UART1_TX_BUF[1]='t';
                                          UART1_TX_BUF[2]='+';
                                          UART1_TX_BUF[3]='c';
                                          UART1_TX_BUF[4]='m';
                                          UART1_TX_BUF[5]='g';
                                          UART1_TX_BUF[6]='s';
                                          UART1_TX_BUF[7]='=';
                                          UART1_TX_BUF[8]=Len_cmgs[0];
                                          UART1_TX_BUF[9]=Len_cmgs[1];
                                          UART1_TX_BUF[10]=Len_cmgs[2];
                                          UART1_TX_BUF[11]=13;
                                          nTX1_Len = 12;           
                                          IE2 |= UTXIE1;
                                          IFG2 &= ~UTXIFG1;
                                          LPM0;  
                                          Delay_ms(100);
                                          Data_len_hex[0]='6';      

⌨️ 快捷键说明

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