?? sms.lst
字號:
C51 COMPILER V6.12 SMS 04/12/2009 00:20:03 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE SMS
OBJECT MODULE PLACED IN .\sms.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\sms.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //-----------------------------------*/
2 #define SMS_GLOBAL
3 #include "includes.h"
*** ERROR 318 IN LINE 21 OF includes.h: can't open file 'c8051f020.h'
*** ERROR C202 IN LINE 11 OF MAIN.H: 'P1': undefined identifier
4 //===================================
5 uchar SmsInit(void)
6 {
7 1 static uchar InitFail = 10,index = 0,Res = 0,TimeOut = 0;
8 1 static bit SendFlag = 1;
9 1 if(SendFlag)
10 1 {
11 2 mComLen = 0;
12 2 while(ModemCommand[index][mComLen] != '\r')
13 2 {
14 3 SmsTxBuffer[mComLen++] = ModemCommand[index][mComLen];
15 3 }
16 2 SmsTxBuffer[mComLen++] = '\r';
17 2 SBUF0 = SmsTxBuffer[0];
*** ERROR C202 IN LINE 17 OF .\SMS.C: 'SBUF0': undefined identifier
18 2 mComSlot = 1;
19 2 Tim100MS = 0;
20 2 SendFlag = 0;
21 2 }
22 1 else
23 1 {
24 2 if(Tim100MS)
25 2 {
26 3 Tim100MS = 0;
27 3 mComLen = 0;
28 3 Res = Waitfor(OK);
29 3 if( !Res)
30 3 {
31 4 if(TimeOut++ > 60)
32 4 {
33 5 if(InitFail-- ==0)
34 5 {
35 6 SmsInitState = 0x11;
36 6 InitFail = 10;
37 6 return(FALSE);
38 6 }
39 5 else
40 5 {
41 6 ModemInit();
42 6 index = 0;
43 6 TimeOut = 0;
44 6 SendFlag = 1;
45 6 }
46 5 }
47 4 }
48 3 else
49 3 {
50 4 if(index ++ >= MODEMCOMMANDCON - 1)
51 4 {
52 5 SmsInitState = 0xAA;
C51 COMPILER V6.12 SMS 04/12/2009 00:20:03 PAGE 2
53 5 SmsPointerInit();
54 5 SmsBindBuff(InputBuffer);
55 5 Comm0EvtPointer = ProcSmsReceive;
56 5 SmsReceiveStatus = 0;
57 5 return(TRUE);
58 5 }
59 4 else
60 4 {
61 5 SendFlag = 1;
62 5 }
63 4 }
64 3 }
65 2 }
66 1 }
67 //-------------------------------------
68 void ProcSmsReceive(void)
69 {
70 1 if(RxSmsSize == 0) {
71 2 switch (cData) {
72 3 case '>':
73 3 SmsReceiveStatus |= SendSmsBZ;
74 3 break;
75 3 case '+':
76 3 SmsBuffer[RxSmsSize++] = cData;
77 3 RxDataTypeFlag = 1;
78 3 break;
79 3 case '0':
80 3 SmsReceiveStatus |= RxOkBZ;
81 3 break;
82 3 case '2':
83 3 SmsReceiveStatus |= RxRingBZ;
84 3 break;
85 3 default :
86 3 break;
87 3 }
88 2 }
89 1 else {
90 2 switch (RxDataTypeFlag) {
91 3 case 1 :
92 3 SmsBuffer[RxSmsSize++] = cData;
93 3 if(cData == 0x0a) {
94 4 if(!memcmp(InputBuffer,CMT,4)) {
95 5 RxSmsSize2 = 0;
96 5 RxDataTypeFlag = 2;
97 5 }
98 4 else if(!memcmp(InputBuffer,CSCA,5)) {
99 5 SmsReceiveStatus |= RxCscaOkBZ;
100 5 RxSmsSize = 0;
101 5 RxDataTypeFlag = 0 ;
102 5 }
103 4 else if(!memcmp(InputBuffer,CCLK,5)) {
104 5 SmsReceiveStatus |= RxCclkOkBZ;
105 5 memcpy(TimeBuff,&InputBuffer[8],17);
106 5 RxSmsSize = 0;
107 5 RxDataTypeFlag = 0 ;
108 5 }
109 4 else if(!memcmp(InputBuffer,CSQ,4)) {
110 5 SmsReceiveStatus |= RxCsqOkBZ;
111 5 memcpy(CsqBuff,&InputBuffer[6],4);
112 5 RxSmsSize = 0;
113 5 RxDataTypeFlag = 0 ;
114 5 }
C51 COMPILER V6.12 SMS 04/12/2009 00:20:03 PAGE 3
115 4 else if(!memcmp(InputBuffer,CNMA,5)) {
116 5 SmsReceiveStatus |= RxCnmaOkBZ;
117 5 RxSmsSize = 0;
118 5 RxDataTypeFlag = 0 ;
119 5 }
120 4 else if(!memcmp(InputBuffer,CLIP,5)) {
121 5 memcpy(ClipTelNumber,&InputBuffer[8],11);
122 5 SmsReceiveStatus |= RxRingBZ;
123 5 RxClipBZ = 1;
124 5 RxSmsSize = 0;
125 5 RxDataTypeFlag = 0 ;
126 5 }
127 4 else if(!memcmp(InputBuffer,CMGS,3)) {
128 5 RxCmgsBZ = 1;
129 5 RxSmsSize = 0;
130 5 RxDataTypeFlag = 0 ;
131 5 }
132 4 else {
133 5 RxSmsSize = 0;
134 5 RxDataTypeFlag = 0;
135 5 }
136 4 }
137 3 break;
138 3 case 2:
139 3 SmsBuffer[RxSmsSize2++] = cData;
140 3 if(cData == 0x0a) {
141 4 RxSmsSize = 0;
142 4 RxCmtOkBZ = 1;
143 4 RxDataTypeFlag = 0;
144 4 }
145 3 break;
146 3 default :
147 3 RxSmsSize = 0;
148 3 RxDataTypeFlag = 0 ;
149 3 break;
150 3 }
151 2 }
152 1 }
153 //-------------------------------------*/
154 void SmsBindBuff(uchar *lpInputBuffer)
155 {
156 1 SmsBuffer = lpInputBuffer;
157 1 }
158 //-------------------------------------*/
159 void SmsPointerInit(void)
160 {
161 1 InputBuffNoEmptyBZ = FALSE;
162 1 InputBuff1NoEmptyBZ = FALSE;
163 1 }
164 //--------------------------------------------------
165 uchar SmsChuLi(uchar xdata *SmsChuLBbuffer)
166 {
167 1 uchar tmp;
168 1
169 1 String2Bytes(SmsChuLBbuffer,&tmp,2);
170 1 tmp = (tmp - 1) * 2;
171 1 SmsChuLBbuffer += 4;
172 1 SerializeNumbers(SmsChuLBbuffer, SmsCode.SCA, tmp);
173 1 SmsChuLBbuffer += tmp;
174 1 String2Bytes(SmsChuLBbuffer, &tmp, 2);
175 1 SmsChuLBbuffer += 2;
176 1 String2Bytes(SmsChuLBbuffer, &tmp, 2);
C51 COMPILER V6.12 SMS 04/12/2009 00:20:03 PAGE 4
177 1 if(tmp & 1) tmp += 1;
178 1 SmsChuLBbuffer += 4;
179 1 SerializeNumbers(SmsChuLBbuffer, SmsCode.TPA, tmp);
180 1 SmsChuLBbuffer += tmp;
181 1 String2Bytes(SmsChuLBbuffer, &SmsCode.TP_PID, 2);
182 1 SmsChuLBbuffer += 2;
183 1 String2Bytes(SmsChuLBbuffer, &SmsCode.TP_DCS, 2);
184 1 SmsChuLBbuffer += 2;
185 1 SerializeNumbers(SmsChuLBbuffer, SmsCode.TP_SCTS, 14);
186 1 SmsChuLBbuffer += 14;
187 1 String2Bytes(SmsChuLBbuffer, &tmp, 2);
188 1 SmsCode.TP_UDLEN = tmp;
189 1 SmsChuLBbuffer += 2;
190 1 if(SmsCode.TP_DCS == GSM_UCS2)
191 1 {
192 2 String2Bytes(SmsChuLBbuffer, SmsCode.TP_UD, tmp * 2);
193 2 if(((SmsCode.TP_UD[1] == 0x2A) || (SmsCode.TP_UD[1] == 0x0A))&& ((SmsCode.TP_UD[19] == 0x23) || (SmsCode
-.TP_UD[19] == 0x03)))
194 2 {
195 3 for(tmp=1;tmp<9;tmp++)
196 3 {
197 4 UnCode_Data[tmp-1] = SmsCode.TP_UD[tmp*2];
*** ERROR C213 IN LINE 197 OF .\SMS.C: left side of asn-op not an lvalue
198 4 UnCode_Data[tmp-1] = UnCode_Data[tmp-1] << 8 ;
*** ERROR C193 IN LINE 198 OF .\SMS.C: '<<': bad operand type
199 4 UnCode_Data[tmp-1] = UnCode_Data[tmp-1] + SmsCode.TP_UD[tmp*2 + 1];
*** ERROR C213 IN LINE 199 OF .\SMS.C: left side of asn-op not an lvalue
200 4 GB2312_Data[tmp-1] = UnicodetoGB2312(UnCode_Data[tmp-1]);
*** ERROR C213 IN LINE 200 OF .\SMS.C: left side of asn-op not an lvalue
201 4 return(TRUE);
202 4 }
203 3 }
204 2 else{
205 3 return(FALSE);
206 3 }
207 2 }
208 1 else
209 1 {
210 2 return(FALSE);
211 2 }
212 1 }
213 //=====================================================================================
214 void ProcSmsSend2(void)
215 {
216 1 uchar nLength,i;
217 1 uchar code tmp[] = "6210529F63A56536FF1A";
218 1 uchar nDstLength;
219 1 uchar buf[20];
220 1 //******************************************************************************************
221 1 buf[0] = 0x00;
*** ERROR C213 IN LINE 221 OF .\SMS.C: left side of asn-op not an lvalue
222 1 nDstLength = Bytes2String(buf, SmsTxBuffer2, 1);
223 1 //******* ***************************************************************************
224 1 nLength = strlen(SmsCode.TPA);
225 1 buf[0] = 0x11;
*** ERROR C213 IN LINE 225 OF .\SMS.C: left side of asn-op not an lvalue
226 1 buf[1] = 0;
*** ERROR C213 IN LINE 226 OF .\SMS.C: left side of asn-op not an lvalue
227 1 buf[2] = (uchar)nLength;
*** ERROR C213 IN LINE 227 OF .\SMS.C: left side of asn-op not an lvalue
228 1 buf[3] = 0x91;
*** ERROR C213 IN LINE 228 OF .\SMS.C: left side of asn-op not an lvalue
C51 COMPILER V6.12 SMS 04/12/2009 00:20:03 PAGE 5
229 1 nDstLength += Bytes2String(buf, &SmsTxBuffer2[nDstLength], 4);
230 1 nDstLength += InvertNumbers(SmsCode.TPA, &SmsTxBuffer2[nDstLength], nLength);
231 1 nLength = strlen(SmsCode.TP_UD);
232 1 buf[0] = SmsCode.TP_PID;
*** ERROR C213 IN LINE 232 OF .\SMS.C: left side of asn-op not an lvalue
233 1 buf[1] = 0x08;
*** ERROR C213 IN LINE 233 OF .\SMS.C: left side of asn-op not an lvalue
234 1 buf[2] = 0;
*** ERROR C213 IN LINE 234 OF .\SMS.C: left side of asn-op not an lvalue
235 1 buf[3] = SmsCode.TP_UDLEN + 10;
*** ERROR C213 IN LINE 235 OF .\SMS.C: left side of asn-op not an lvalue
236 1 nDstLength += Bytes2String(buf, &SmsTxBuffer2[nDstLength], 4);
237 1 for(i=0;i<20;i++)
238 1 {
239 2 SmsTxBuffer2[i+nDstLength] = tmp[i];
*** ERROR C213 IN LINE 239 OF .\SMS.C: left side of asn-op not an lvalue
240 2 }
241 1 nDstLength = nDstLength + 20;
242 1 if(SmsCode.TP_DCS == GSM_UCS2) {
243 2 nDstLength += Bytes2String(SmsCode.TP_UD, &SmsTxBuffer2[nDstLength], SmsCode.TP_UDLEN);
244 2 }
245 1 SmsTxBuffer2[nDstLength++] = 0x1a;
*** ERROR C213 IN LINE 245 OF .\SMS.C: left side of asn-op not an lvalue
246 1 }
247 //------------------------------------
248 void ProcSmsSend1(void)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -