




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、/GPRS MODULE PROGRAM/=FROM 2003.9.by cfj#include<msp430x12x2.h>/#include<intrinsics.h>#include<stdio.h>#include<string.h>#include<stdlib.h>#include<ctype.h>#include<math.h>#define Uint unsigned int#define _3NOP() _NOP();_NOP();_NOP();#define _4NOP() _NOP();_
2、NOP();_NOP();_NOP();#define _5NOP() _NOP();_NOP();_NOP();_NOP();_NOP();#define Estart_Addr 0 /0 EEprom起始地址#define Work_Mode_Addr Estart_Addr+6 /6工作模式設置: 1 字#define MAPN_AddrWork_Mode_Addr+1 /7 移 動 網 關 接 入 點 名 稱:20 字節(jié) ASCI#define DSC_Ip_Addr MAPN_Addr+20 /27 數據服務中 心 IP 地址: 12 字節(jié) ASC#define DSC_Port_A
3、ddr DSC_Ip_Addr+12 /39數 據 中 心 端 口 : 5 字 節(jié) ASCII#define Net_Protocol_AddrDSC_Port_Addr+5 /44 網絡數據傳輸協議#define Terminal_SIM_Addr Net_Protocol_Addr+1 /45終端 SIM#define Beat_Addr Terminal_SIM_Addr+11 /56心跳周期地址#define PassWord_Addr Beat_Addr+1 /57 設置密碼#define SCA_SIM_Addr PassWord_Addr+6 /63短信服務中心號碼#define
4、 DSC_SIM_Addr SCA_SIM_Addr+11 /74數據中心號碼#define BackUp_Addr DSC_SIM_Addr+11 /85備用#define Set_Crc BackUp_Addr+4 /89 CRC 校驗碼#define Estart2_Addr Estart_Addr+100/*/函數: main()/功能:主函數/輸入參數:/輸出參數:/常/ 量定義/char *AT="ATr"/AT 命令用于檢測 GPRS是否存在或開機。charAT_Echo12='A','T','E','=
5、','0','V','=','1','&','D','1',0X0D;/ 命令碼不返回。 /char *AT_Echo="ATE=0V=1&D1r"/ 命令碼不返回。char *AT_O="ATOr"/ 從命令狀態(tài)返回到數據狀態(tài)。char *AT_3Plus="+ATr"char *AT_W="AT&Wr" / 保存設置。char *AT_ActivateIp="
6、AT*E2IPA=1,1r"charOpenIp11='A','T','*','E','2','I','P','O','=','1',',',;char *AT_Closelp="AT*E2lPCr"/關閉 GPRS通道char *AT_CMGF="AT+CMGF=0r"/ 短信 PDU MODEcharTerminal_Command19=0x68,0x0d,0x0d,
7、0x68,0x4a,0x99,0x99,0x07 ,0x00,0x0b,0x80,0x30charEcho_Array=0X2F,0X00,0X07,0XFF,0XFF,0XFD,0XA3,0X03;/ 設 置 正確信號charAlarm_Switch_Echo=0X2F,0X00,0X08,0XFF,0XFF,0XCE,0XEC,0X8F, 0X14;charX47;Data_Switch_Echo=0X2F,0X00,0X08,0XFF,0XFF,0XCD,0XEC,0XDA,0/函/ 數定義/void Port_Initial(void);void Delay(Uint);void Fi
8、rst_Wr_EEprom(void);void Variable_Initial(void);打開GPRS!源void Turn_On_Gprs(void);void Turn_Off_Gprs(void);/void USART0_Initial(void);void USART1_Initial(void);void Timer_Initial(void);void Data_Cmnd_Snd(Uint L,char *Temp_Pointer,charSport,Uint);voidGprs_At_Command(Uint,char*Pcommand,Uintextern char R
9、d_Data(char Start_Addr,charData_Len,UintWTime);void Rx1Data_Judge_Trasmit(void);void Rx0Data_Judge_Trasmit(void);/extern void EWEN_93lc66(void);extern void Start_93lc66(char Op_Code);*Pointer);externvoidWr_Data(charStart_Addr,charData_Len,Uint *Pointer);void Cal_Crc(char *Pointer,Uint L);/從EEPROM讀取工
10、作參計算返回crC直。char Read_Parameters_Initial(char);/數、初始化。 void WorkMode_Initial_Log(void);extern void construct_PDU_SMS(char UDL,char *User_Data);/構造 SMS內容。extern void Echo_SMS_Master(char);void Asci_To_Hex(char *Pointer,Uint);extern void Echo_Sms_Mobile(void);void Echo_Rx0(char *Pointer,char Lenth);ext
11、ern void Mobile_SMS_Get(char);extern void Mobile_SMS_Set(char);extern void Encode7Bit(char);extern void Decode8Bit(char);extern char ReturnHex(char);void Heart_Beat(void);void Read_Delete_SMS(void);void Feed_WatchDog(void);void Gprs_Mode_SMS(Uint);void Judge_SMS_counter(void);void Data_Status(void);
12、void connect_Master_Station(void);extern void Waiting_Result(Uint Wresult_Time);extern void ZheJiang_Protocol_Down(Uint);extern void ZheJiang_Protocol_Up(Uint);void Inqury_Signal(void);/ 全局變量定義/發(fā)送長度、發(fā)char VIO;Uint Tx1_Snd_Lenth,Tx1_Pointer,Rx1_Pointer; /送指針、接收指針 Uint Tx0_Snd_Lenth,Tx0_Pointer,Rx0_Po
13、inter; /發(fā)送長度、發(fā)送指針、接收 char *Pointer0,*Pointer1;char Command_Data_Status;char Rx1_Start_Flag; /串口接收開始標志Uint Rx1_Time_Counter;/串口接收時間長度char Rx1_TimeOut_Flag;/接收超時標志char Rx0_Start_Flag; /串口接收開始標志char Rx0_Time_Counter;/串口接收時間長度char Rx0_TimeOut_Flag;/接收超時標志char Signal_Val;/ 信號強度Uint Wait_Result_Time;char
14、Wait_Result_TimeOut;char Flash_Timer_Len; /CPU 正常運行指示燈。Uint Heart_Beat_Interval;/自動檢測 IP 連接的間隔時間char Heart_Beat_Flag; /自動檢測標志char nMinute_Beat_Flag;char Heart_Beat_Time;串 口 數 據 緩 沖 區(qū) charchar Terminal_SIM12;/char AT_OpenIp035;char Rx1_Data_Buffer360;/GPRSRx0_Data_Buffer256;/ 終端數據緩沖區(qū)終端手機號碼。 char Cent
15、er_SIM12; /短信通信手機號碼。charData_Center_Sim12;/ 數據中心手機號碼。 char SCA_SIM4; /char信服務中心號碼 Uint Temp_iArray100;/ 臨時緩沖區(qū):整數Temp_cArray200;/ 臨時緩沖區(qū):字符 char SMS_TPDU300;char User_Data140;char PassWord6;char AT_CGDCONT40;char AT_Set_Ok;Uint PDU_Len;char Retry_Counter;char AT_Test_Flag;校驗char IpConnect_Flag;char Rx
16、1_Led,Tx1_Led;/ 串口 1 收發(fā)指示燈 Uint CRC;/CRC值。Uint Beat_Rcv_Fail;/ 心跳未接收到次數(若連續(xù)發(fā)送三次未收 到,則重新連接) Uint Read_SMS_Time;char Work_Mode;/ 模塊工作模式char ,Tx1_Pointer,Rx1_Pointer; / 發(fā)送長度、發(fā)送指針、接收指 針 char Msg_Snd_Flag;char Tx_Head; / 發(fā)送引導頭char SMS_Mode;char Terminal_Addr_High;char Terminal_Addr_Low;char Read_SMS_Flag
17、;char SIM_SMS_Flag;char Received_Read_Msg_Flag;char DSR;Uint SMS_Index;/ 連接失敗次數。char Read_Flag;char Ring_Counter;char Beat_Rcved_Flag;/ 心 跳 接 收 到 標 志 。 charBeat_Test_Start;/ 心跳測試標志。 char Beat_Test_Fail;Uint Beat_Test_Interval;Minute2_Interval;char Minute2_Interval_Flag;char First_Connect_Flag;/上 電 第
18、 一 次 連 接 標 志 。 Uintchar Inqury_Signal_Flag;char Terminal_Request_Flag;char ii;/ 清緩沖區(qū)指針。Uint Second;Uint Signalmscnt;char Minute;char Connect_Counter;Uint Rx1_Time_Interval;char extern Msg_Snd_Success;Uint Tel_Ring_Counter;char Ring_Start_Flag;Uint Ring_Time;char Zj_Protocol_Flag;char SMS_Counter;cha
19、r Load_Master_Flag;char Heart_Flag;char No_Carrier_Flag;/ / 主程序/ void main(void)char i;_3NOP();/WDTCTL=WDTPW+WDTHOLD;BCSCTL1|=XT20FF+XTS; /啟動 LFTX1 4M高速晶振,關閉 XT2 晶振BCSCTL2|=SELM1+SELM0; /LFTTX1CLK:4M->MCLKdoIFG1&=0FIFG;for(i=0xFF;i>0;i-);while(IFG1&0FIFG)!=0);/等待時鐘源轉換完。Variable_Initial
20、();/變量初始化。 Delay(10);P2DIR|=0X08;/P2.0:LED5;P2.1:LED6;p2.2-ring P20UT&=0XF7;P1DIR|=0X10;P10UT&=0XEF;WDTCTL二WDT PW+WDTSS看門狗開啟。Delay(20000);Port_Initial();/初始化 P1、P2、P3 口等 while(VI0=0X00) /若GPR晡未開機,則打開GPRSfe源Turn_0n_Gprs();VI0=P5IN&0X10; /VI0=P5.4_3N0P();/EWEN_93lc66();/EEPROM擦寫使能Rd_Data(2
21、54,1,Temp_iArray);/檢測是否為第一次運行程序if(Temp_iArray0!=0X555C)First_Wr_EEprom();/入出廠默認數據Read_Parameters_Initial(Estart_Addr);if(Read_Flag=0)/EEPROM 中 讀 取 工 作 參 數初始化CPU 。Read_Parameters_Initial(Estart2_Addr);/初始化時 , 若原始數據不對,則從備分區(qū)讀取。 _3N0P();Read_Delete_SMS();/ 上電時,讀取刪除短信息。 for(;)/* 主循環(huán)*_3NOP();VIO=P5IN&
22、0X10; /VIO=P5.4WDTCTL=WDTPW+WDTCNTCL;DSR=P3IN&0X08/;/P3.3: 顯示系統命令狀態(tài) / 數據狀態(tài)。 if(DSR!=0)/P1OUT|=0X40;/P1.6: 命令狀態(tài)。 /Load_Master_Flag=0;elseP10UT&二0X40;/數據狀態(tài)。if(Rx1_TimeOut_Flag=1)/RX1 若接收超時 , 進行判斷。Rx1_TimeOut_Flag=0;Rx1_Start_Flag=0;Rx1_Time_Counter=0;Rx1Data_Judge_Trasmit();/ 串口 1 數據判斷轉發(fā)給終端。if
23、(Rx0_TimeOut_Flag=1)/RX0 若接收超時 , 進行判斷。Rx0_TimeOut_Flag=0;Rx0_Start_Flag=0;Rx0_Time_Counter=0;Rx0Data_Judge_Trasmit();/ 串口 0 數據轉發(fā)給主站。if(Command_Data_Status=1)/GPRS 連接上,則發(fā) 2 個心跳, 有關 變量復位。Data_Status();if(DSR!=0X00)&&(Inqury_Signal_Flag=1)/Inqury_Signal();Inqury_Signal_Flag=0;if(DSR!=0X00)&
24、&(Minute+1)%30)=0)/ 每隔周期檢測是否有 新的短信接收到。Minute+;SIM_SMS_Flag=0;Read_SMS_Flag=0;Read_Delete_SMS();if(DSR=0)&&(Heart_Flag=1)&&(Work_Mode=1)/for zhejiang testHeart_Beat();Heart_Flag=0;Beat_Test_Start=1;Beat_Test_Interval=2000;/20 秒鐘自動檢測心跳Beat_Test_Fail=0;Beat_Rcved_Flag=0;if(Work_Mode
25、=1)&&(nMinute_Beat_Flag=1)&&(Heart_Beat_Tim e!=0) / 每隔?分鐘心跳周期發(fā) nMinute_Beat_Flag=0;Heart_Beat();Beat_Test_Start=1;Beat_Test_Interval=2000;/20 秒鐘自動檢測心跳Beat_Test_Fail=0;Beat_Rcved_Flag=0;if(Tel_Ring_Counter>=1)|(First_Connect_Flag=1)|(Termin al_Request_Flag=1)|(Beat_Te if(Work_Mode=
26、1)&&(Heart_Beat_Flag=1)Heart_Beat_Flag=0;Heart_Beat_Interval=6000;Connect_Master_Station();if(Connect_Counter+>=30)Turn_Off_Gprs();/ 復位 GPRSif(VIO=0)/ 判斷是否有異常關機。_5NOP();_5NOP();VIO=P5IN&0X10; / 確認 VIO=P5.4_5NOP();_5NOP();First_Connect_Flag=1;/ 第一次連接標志if(VIO=0)Turn_On_Gprs();/函 數 :Vari
27、able_Initial(void)/ 功能:有關變量初始化/ 輸入:/ 輸出:/voidVariable_Initial(void)Signalmscnt=0;Ring_Counter=0;Received_Read_Msg_Flag=0;nMinute_Beat_Flag=0;Connect_Counter=0;Command_Data_Status=0;Beat_Rcv_Fail=2;Inqury_Signal_Flag=0;Terminal_Request_Flag=0;Beat_Test_Fail=0;Beat_Test_Start=0;Beat_Test_Interval=2000
28、;/心跳等待時間間隔。Heart_Beat_Interval=6000;Second=0;Minute=0;Rx1_Time_Interval=4;Msg_Snd_Flag=0;Msg_Snd_Success=0;Tel_Ring_Counter=0;Ring_Start_Flag=0;Ring_Time=0;Zj_Protocol_Flag=1;/ 浙江規(guī)約SMS_Counter=0;Load_Master_Flag=0;Heart_Flag=0;No_Carrier_Flag=0;Signal_Val=13;/函/ 數 :Data_Status(void)/ 功能:數據狀態(tài)時有關變量狀態(tài)。
29、/ 輸入:/ 輸出:/voidData_Status(void)char i;char CheckSum=0;char Temp_Load=0X68,0X91,0X01,0X07,0X1A,0X1E,0X00,0X68,0XA1,0X03,0X00,0X11,0X11,0X11,0X00,0X16;Command_Data_Status=0;Heart_Beat_Interval=6000;Ring_Counter=0;First_Connect_Flag=0;Beat_Test_Fail=0;Beat_Test_Start=0;Minute2_Interval=12000;Minute2_I
30、nterval_Flag=0;Terminal_Request_Flag=0;nMinute_Beat_Flag=0;Connect_Counter=0;Tel_Ring_Counter=0;Second=0;Minute=0;Heart_Flag=0;No_Carrier_Flag=0;if(Work_Mode=0x01)&&(Zj_Protocol_Flag=0)_NOP();Heart_Beat();Delay(50);&&Heart_Beat();if(Work_Mode=0x01)&&(Zj_Protocol_Flag=1) (Load
31、_Master_Flag=0)/ 浙江規(guī)約登陸請求 Load_Master_Flag=0;Delay(50);for(i=0;i<=15;i+)Temp_cArrayi=Temp_Loadi;/*for(i=0;i<=3;i+)/ 終端地址Temp_cArrayi+1=(Terminal_SIMi*2+1-0x30)<<4)+(Terminal _SIMi*2-0x3 */ / hunter term addressfor(i=0;i<=13;i+)/ 校驗和CheckSum+=Temp_cArrayi;Temp_cArray14=CheckSum;Delay(1
32、00);Tx_Head=Temp_cArray0;Data_Cmnd_Snd(15,&Temp_cArray1,1,5);/*Delay(200);Tx_Head=Temp_cArray0;Data_Cmnd_Snd(15,&Temp_cArray1,1,5);*/Beat_Test_Start=1;Beat_Test_Interval=12000;/20 秒鐘自動檢測心跳Beat_Test_Fail=0;Beat_Rcved_Flag=0;_NOP();/函數: Inqury_Signal ()/功能:查詢當前GSM言號強度/輸入:/輸出:/ void Inqury_Sign
33、al(void) char *AT_CSQ="AT+CSQr"/ 檢測信號強度。char i,CheckSum=0;char Inqury_Counter=3;char Temp;Inqury_Again:;Temp=Signal_Val;Inqury_Signal_Flag=0;AT_Set_Ok=0;Rx1_Pointer=0;Rx1_TimeOut_Flag=0;Tx_Head=AT_CSQ0;Data_Cmnd_Snd(6,&AT_CSQ1,1,40); / 查尋信號強弱命令檢測信號強弱等級。Delay(200);for(i=0;i<Rx1_Point
34、er;i+)/if(RX1IDafalBuff2 二 爐爐(RX1IDafalBuff2i+1FHC)爐爐(R>dlDafalBuff2i+2FHS (ir(R>dlDafalBurr2i+4FH)00(R>dlDafalBurr2i+5FH32)if(R>dlDafalBuff2i+7Mif(R>dlDaalBuff2i+648)K9)00(R>dlDaalBuff2i+7ATISeflokul-POUT一H0X90WLEDP LED5 LED6陟狛(H99)P2OUT 一 H0X01-gofo signa-ooqif(R>dlDaalBuff2i+
35、648)VH2)00(R>dlDaalBuff2i+7ATISeflokul-P-OUTW0X7FWLED茁逼。(V20)p20ut-hoxo1-P10UT-HoxqSigna廠Va帀R>dlDaalBuff2i+648Wroo§Signa廠Va-Hsigna廠Va-A<4y/ M巔 8i。Signal_Val+=Rx1_Data_Bufferi+7-48;/個位BCD碼if(Signal_Val>0x31)Signal_Val=0x31;goto Signal000;if(Rx1_Data_Bufferi+;/接收超時標志 6-48)=AT_Set_Ok=1
36、;P20UT&二OXFE;/LED亮、中。(>10<20) P 1OUT|=0X90;Signal_Val=Rx1_Data_Bufferi+6-48;/BCD 碼Signal_Val=Signal_Val<<4;/位。Signal_Val+=Rx1_Data_Bufferi+7-48;/BCD 碼if(Signal_Val>0x19)Signal_Val=0x19;goto Signal000;if(Rx1_Data_Bufferi+7=',')/信號強度小于AT_Set_Ok=1;P10UT&二 OXEF;/LED亮、低。(&l
37、t;10) P 20UT|=0X01;P1OUT|=0X80;10 if(Signal_Val>9)Signal_Val=0x09;goto Signal000;Signal000:if(AT_Set_Ok=0)Signal_Val=0x00;AT_Set_Ok=0;if(Signal_Val=0x00)if(Inqury_Counter-)!=0)for(i=0;i<20;i+)Rx1_Data_Bufferi=0;goto Inqury_Again;if(Signal_Val=0x00)if(Temp%2=0)Temp+=1;elseTemp-=1;Signal_Val=Tem
38、p;/*User_Data0=User_Data3=0x68;/ 數據頭User_Data1=User_Data2=11;/ 數據長度User_Data4=0x5A; /控制字User_Data5=0x99; /獲取終端地址低位User_Data6=0x99; /獲取終端地址高位User_Data7=0x06; /類型User_Data8=0x82; /可變結構限定詞User_Data9=0x05; /傳送原因User_Data10=0x55; /數據單元標識 LUser_Data11=0x30; /數據單元標識 HUser_Data12=0x00; /記錄地址User_Data13=(Sig
39、nal_Val&0X0F)+0X30;/ 信 號 強 度User_Data14=(Signal_Val>>4)&0X0F)+0X30;for(i=0;i<=10;i+)/ 計算 102 規(guī)約校驗和CheckSum+=User_Data4+i;User_Data15=CheckSum;User_Data16=0x16;*/User_Data0 = 0x68;User_Data1 = 0x99;User_Data2 = 0x99;User_Data3 = 0x99;User_Data4 = 0x99;User_Data5 = 0x5E;User_Data6 = 0
40、x00;User_Data7 = 0x68;User_Data8 = 0x0F;User_Data90x09; / 自 定 義 數 據 幀 數 據 區(qū) 長 度User_Data11 = 0x1A;User_Data10= 0x00;User_Data12 = 0x82;User_Data13 = 0x20;User_Data14 = 0x99;User_Data15 = 0x12;User_Data16 = 0x34;User_Data17 = 0x56;/ 信 號 強 度User_Data18 = 0x78;User_Data19=(Signal_Val&0X0F)+0X30;Use
41、r_Data20=(Signal_Val>>4)&0X0F)+0X30;for(i=0;i<=20;i+)/ 計算校驗和CheckSum+=User_Datai;User_Data21=CheckSum;User_Data22=0x16;Data_Cmnd_Snd(22,User_Data,0,5);/ 向串口 0 發(fā)送信號強度數據 ,發(fā)送長度 22 P5OUT|=0x80;/ 接收指示燈滅。Rx1_TimeOut_Flag=0;/函/ 數 :/功能:從EEPRO中讀取工作參數、IP地址、端口、SMS號碼等/初始化波特率、定時器等Rd_Parameter_Initia
42、l()/ 輸入參數:/ 輸出參數:/charRead_Parameters_Initial(char Address)char i,j;Uint Temp2;char *Cgdcont="AT+CGDCONT=1," / 設 置 PDP 通 道WDTCTL=WDTPW+WDTCNTCL;Rd_Data(Address,91,Temp_iArray);/ 讀取 0x06 通訊口配置參數。判斷數據if(Temp_iArray0=0x2f)/ 尋找數據頭if(Temp_iArray2=90)&&(Temp_iArray5=0xfd)/長度、功能碼是否為設置命 fo
43、r(i=0;i<=90;i+)Temp_cArrayi=Temp_iArrayi;Cal_Crc(&Temp_cArray1,88);/ 計算 CRCTemp2=Temp_cArray89;/ 比較 CRCTemp2=Temp2<<8;Temp2=Temp2+Temp_cArray90;if(CRC二二Temp2)/若CRCf等,則讀出的數據正確。Read_Flag=1; / 從 EEPROM中讀取的數據正確。Work_Mode=Temp_cArray6;/ 工作模式for(i=0;iv=i2;i+)/ 讀取 APN名稱.AT_CGDCONTi=*(Cgdcont+i
44、);/="AT+CGDCONT=1, AT_CGDCONT13=AT_CGDCONT16=0X22; AT_CGDCONT14='I'AT_CGDCONT15='P'AT_CGDCONT17=','AT_CGDCONT18=0X22;for(i=0;iv=i9;i+)/ 讀取 APN名稱.if(Temp_cArray7+i!=0xFF)AT_CGDCONTi+19=Temp_cArray7+i; elsebreak;AT_CGDCONTi+19=0x22;AT_CGDCONTi+20=0x0d;for(j=i+21;j<=39;j
45、+)/后面填零,以便計算長度 . WDTCTL=WDTPW+WDTCNTCL;AT_CGDCONTj=0;/以 下 裝 入 IP地址for(i=0;i<=10;i+)/IP 地址的 AT 命令。AT_OpenIp0i=OpenIpi;/AT_OpenIp011='"'AT_OpenIp027='"'AT_OpenIp015='.'AT_OpenIp019='.'AT_OpenIp023='.'AT_OpenIp028=','AT_OpenIp034=0x0d;for(i=0
46、;i<=2;i+)/*.*.*.*IP地址格式。AT_OpenIp012+i=Temp_cArray27+i; for(i=0;i<=2;i+)/*.*.*.*IP地址格式。AT_OpenIp016+i=Temp_cArray30+i;for(i=0;i<=2;i+)/*.*.*.*IP地址格式。AT_OpenIp020+i=Temp_cArray33+i;for(i=0;i<=2;i+)/*.*.*.*IP地址格式。AT_OpenIp024+i=Temp_cArray36+i;for(i=0;i<=4;i+)/ 數據服務中心通信端口號。 AT_OpenIp029
47、+i=Temp_cArray39+i;/=IP 地址處理結束TCP_UDP=Temp_cArray44;/ 網絡數據傳輸協議。Heart_Beat_Time=Temp_cArray56;/心跳周期for(i=0;i<=5;i+)PassWordi=Temp_cArray57+i;/模塊設置密碼 for(i=0;i<=5;i+)Terminal_SIMi*2+1=Temp_cArray45+i*2;/數據終端手機號碼 , 位 置 交 換 。 Terminal_SIMi*2=Temp_cArray45+i*2+1;Center_SIMi*2+1=Temp_cArray74+i*2; /
48、短信通信手機號碼。位置交換。 Center_SIMi*2=Temp_cArray74+i*2+1;Data_Center_Simi*2+1=Temp_cArray74+i*2;/報警數據中心Data_Center_Simi*2=Temp_cArray74+i*2+1; Terminal_SIM10='F'Center_SIM10='F'Data_Center_Sim10='F'WDTCTL=WDTPW+WDTCNTCL;for(i=0;i<=3;i+)/ 短信服務中心號碼的區(qū)號SCA_SIMi=Temp_cArray63+4+i;_NOP(
49、);if(Read_Flag=0)/ 若未進行初始化過或讀取參數不對,則工作于GSM+SM模式、9600波特率。Work_Mode=0x02;WDTCTL=WDTPW+WDTCNTCL;_3NOP();Timer_Initial(); /初始化 TIMERA。_3NOP();USART0_Initial();_3NOP();USART1_Initial();/串行口 1 初始化 : 無校驗, 9600、 8 位數據位、1 位停止位。_3NOP();_EINT(); / 開放全局中斷_3NOP();WorkModenitial_Log();/初始化 GPRS工作方式、登陸 CMNET連接中心 I
50、P 等。return Read_Flag;/函數: WorkMode_Initial_Log()功能:GPRS工作模式初始化、連接(若工作于 GPRS模式)/輸入參數:/輸出參數:'1',',',0X0D;/數據char/void WorkMode_Initial_Log(void)char i;char *AT_CNMI="AT+CNMI=3,2,0,1r"/SMS 串口接收charcharAT_CNMI0116='A','T','+','C','N','
51、;M','I','=','3',',','1',', ','0',',','0',0x0DAT_CBST15='A','T','+','C','B','S','T','=','7',',','0',',',AT_CPMS0123='A',&
52、#39;T','+','C','P','M','S','=','"','S','M','"',',','"','S','M','"',',','"','S','M','"',0X 0D;char *AT_CRC=
53、"AT+CRC=1r"/ 區(qū)分是語音來電、還是數據來電。char *AT_S00="ATS0=0r"等待 2 秒,char *AT_S02="ATS0=2r"char *AT_IpParameters="AT*E2IPS=2,10,1,512r"/重 試 10 次100 毫 秒 , 緩 沖 區(qū) 512 charAT_SCA25='A','T','+','C','S','C','A','='
54、,'"','+','8','6','1','3','8','0','0','5','7','1','5','0','0 ','"',0x0d; char *AT_Ring="AT*E2SMSRI=500r"/char *AT_PRn="AT*EPNR=2,1,8r"WDTCTL=WD
55、TPW+WDTCNTCL;SMS_Mode=0xFF;/SMS_Index=0;Command_Data_Status=0;/ 在命令行狀態(tài)。AT_Test_Flag=0;First_Connect_Flag=1;Read_SMS_Time=60000;/10;P1OUT|=0X40;P2OUT|=0X02;for(i=0;i<=3;i+)Gprs_At_Command(25,AT_SCA,30);/ 設 置 短 信 服 務 中 心 號 碼AT_SCA16+i=SCA_SIMi;for(i=0;i<=3;i+)Gprs_At_Command(sizeof(AT)+1,AT,30);/AT 命令,測試 GPRS.if(AT_Test_Flag=O)/ 若AT測試命令沒有返回并且 GPRS電源打開。P4OUT|=0X02; / 回到命令狀態(tài)。Delay(200);TXBUF1=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家庭控制智能系統
- 2025年度安全評價掛靠項目執(zhí)行合同
- 互聯網醫(yī)療行業(yè)發(fā)展報告
- 三農村農業(yè)發(fā)展規(guī)劃指南
- 智能倉儲整體解決方案
- 監(jiān)控系統項目實施方案
- 種養(yǎng)結合生態(tài)循環(huán)農業(yè)可行性報告
- 三農村土地流轉政策與市場分析報告
- 分析一個成功的電商平臺案例探討其成功因素
- 企業(yè)運營成本優(yōu)化指南
- 2024年滁州城市職業(yè)學院單招職業(yè)適應性測試題庫帶答案
- 2024年遼寧鐵道職業(yè)技術學院高職單招(英語/數學/語文)筆試歷年參考題庫含答案解析
- GB/T 12688.1-2011工業(yè)用苯乙烯試驗方法第1部分:純度和烴類雜質的測定氣相色譜法
- 北京學生金帆藝術團評價標準
- Eviews軟件使用初步課件
- 《工程制圖》題庫(含答案)
- 新高處安裝維護拆除作業(yè)課件
- 急診部重點??粕陥笳n件
- 系統思維解決問題(-95張)課件
- 監(jiān)控室值班記錄表免費
- CJ-T236-2022 城市軌道交通站臺屏蔽門-高清最新版
評論
0/150
提交評論