?? sms.lst
字號:
249 {
250 1 uchar i;
251 1 for(i=0;i<8;i++){
252 2 SmsTxBuffer1[i] = AT_CMGS[i];
*** ERROR C213 IN LINE 252 OF .\SMS.C: left side of asn-op not an lvalue
253 2 }
254 1 SmsTxBuffer1[8] = '0';
*** ERROR C213 IN LINE 254 OF .\SMS.C: left side of asn-op not an lvalue
255 1 SmsTxBuffer1[9] = '4';
*** ERROR C213 IN LINE 255 OF .\SMS.C: left side of asn-op not an lvalue
256 1 SmsTxBuffer1[10] = '5';
*** ERROR C213 IN LINE 256 OF .\SMS.C: left side of asn-op not an lvalue
257 1 SmsTxBuffer1[11] = '\r';
*** ERROR C213 IN LINE 257 OF .\SMS.C: left side of asn-op not an lvalue
258 1 }
259 //--------------------------------------------------------
260 void ProcSmsSend(uchar *Input,uchar len)
261 {
262 1 SmsTxBuffer = Input;
263 1 mComLen = len;
264 1 SBUF0 = SmsTxBuffer[0];
*** ERROR C202 IN LINE 264 OF .\SMS.C: 'SBUF0': undefined identifier
265 1 mComSlot = 1;
266 1 }
267 //==========================================================
268 uchar String2Bytes(uchar *Src, uchar *Dst, uchar nSrcLength)
269 {
270 1 uchar i;
271 1 for(i=0; i<nSrcLength; i+=2) {
272 2 if(*Src>='0' && *Src<='9') {
273 3 *Dst = (*Src - '0') << 4;
274 3 }
275 2 else {
276 3 *Dst = (*Src - 'A' + 10) << 4;
277 3 }
278 2 Src++;
C51 COMPILER V6.12 SMS 04/12/2009 00:20:03 PAGE 6
279 2 if(*Src>='0' && *Src<='9') {
280 3 *Dst |= *Src - '0';
281 3 }
282 2 else {
283 3 *Dst |= *Src - 'A' + 10;
284 3 }
285 2 Src++;
286 2 Dst++;
287 2 }
288 1 return nSrcLength / 2;
289 1 }
290 //==============================================================
291 uchar Bytes2String(uchar *Src, uchar *Dst, uchar nSrcLength)
292 {
293 1 uchar i;
294 1 uchar code tab[]="0123456789ABCDEF";
295 1 for(i=0; i<nSrcLength; i++)
296 1 {
297 2 *Dst++ = tab[*Src >> 4];
298 2 *Dst++ = tab[*Src & 0x0f];
299 2 Src++;
300 2 }
301 1 *Dst = '\0';
302 1 return nSrcLength * 2;
303 1 }
304 //====================================================================
305 uchar InvertNumbers(uchar *Src, uchar *Dst, uchar nSrcLength)
306 {
307 1 uchar nDstLength,i,ch;
308 1 nDstLength = nSrcLength;
309 1 for(i=0; i<nSrcLength;i+=2) {
310 2 ch = *Src++;
311 2 *Dst++ = *Src++;
312 2 *Dst++ = ch;
313 2 }
314 1 if(nSrcLength & 1) {
315 2 *(Dst-2) = 'F';
316 2 nDstLength++;
317 2 }
318 1 *Dst = '\0';
319 1 return nDstLength;
320 1 }
321 //==================================================================
322 uchar SerializeNumbers(uchar *Src, uchar *Dst, uchar nSrcLength)
323 {
324 1 uchar i,nDstLength,ch;
325 1 nDstLength = nSrcLength;
326 1 for(i=0; i<nSrcLength;i++,i++) {
327 2 ch = *Src++;
328 2 *Dst++ = *Src++;
329 2 *Dst++ = ch;
330 2 }
331 1 if(*(Dst-1) == 'F') {
332 2 Dst--;
333 2 nDstLength--;
334 2 }
335 1 *Dst = '\0';
336 1 return nDstLength;
337 1 }
338 //===================================================================
339 void SmsProc(void)
340 {
C51 COMPILER V6.12 SMS 04/12/2009 00:20:03 PAGE 7
341 1 uchar TempVal,TempBuff[3] = {"00"};
342 1 static uchar xdata WaitCmdCon = 0,i = 0,SmsSendFail = 0;
343 1 static bit SendCSQBZ = 0;
344 1 if((!RxCmtOkBZ) && ShowTimeBZ)
345 1 {
346 2 if(!SendCSQBZ)
347 2 {
348 3 while(AT_CSQ[mComLen] != '\r')
349 3 {
350 4 SmsTxBuffer[mComLen++] = AT_CSQ[mComLen];
351 4 }
352 3 SmsTxBuffer[mComLen++] = '\r';
353 3 SBUF0 = SmsTxBuffer[0];
*** ERROR C202 IN LINE 353 OF .\SMS.C: 'SBUF0': undefined identifier
354 3 mComSlot = 1;
355 3 SendCSQBZ = 1;
356 3 ShowTimeBZ = 0;
357 3 }
358 2 else if(SendCSQBZ)
359 2 {
360 3 if(SmsReceiveStatus & RxCsqOkBZ)
361 3 {
362 4 SendCSQBZ = 0;
363 4 memcpy(TempBuff,CsqBuff,2);
364 4 TempVal = atoi(TempBuff);
365 4 if(TempVal == 99) {
366 5 SignalFlag = 0;
367 5 }
368 4 else if(TempVal > 23) {
369 5 SignalFlag = 4;
370 5 }
371 4 else if(TempVal > 15) {
372 5 SignalFlag = 3;
373 5 }
374 4 else if(TempVal > 7) {
375 5 SignalFlag = 2;
376 5 }
377 4 else
378 4 SignalFlag = 1;
379 4 SmsReceiveStatus &= ~RxCsqOkBZ;
380 4 SendCSQBZ = 0;
381 4 ShowTimeBZ = 0;
382 4 }
383 3 }
384 2 }
385 1 //-----------------------------------
386 1 if(RxCmtOkBZ) {
387 2 switch (SmsState) {
388 3 case 0x01:
389 3 i = SmsChuLi(SmsBuffer);
390 3 if(i){
391 4 ProcSmsSend2();
392 4 SmsState = 0x02;
393 4 }
394 3 else{
395 4 SmsState = 0x04;
396 4 SmsReceiveStatus &= ~RxCnmaOkBZ;
397 4 RxCmgsBZ = 1;
398 4 RxCmtOkBZ = 1;
399 4 WaitCmdCon = 0;
400 4 }
401 3 break;
C51 COMPILER V6.12 SMS 04/12/2009 00:20:03 PAGE 8
402 3 case 0x02:
403 3 ProcSmsSend1();
404 3 ProcSmsSend(SmsTxBuffer1,12);
405 3 SmsState = 0x03;
406 3 WaitCmdCon = 0;
407 3 break;
408 3 case 0x03:
409 3 if(Tim100MS)
410 3 {
411 4 Tim100MS = 0;
412 4 if(SmsReceiveStatus & SendSmsBZ)
413 4 {
414 5 ProcSmsSend(SmsTxBuffer2,93);
415 5 SmsReceiveStatus &= ~SendSmsBZ;
416 5 SmsState = 0x04;
417 5 RxCmgsBZ = 0;
418 5 WaitCmdCon = 0;
419 5 }
420 4 else if(WaitCmdCon++ > 200) //10S
421 4 {
422 5 WaitCmdCon = 0;
423 5 if(SmsSendFail++>10)
424 5 {
425 6 SmsSendFail = 0;
426 6 SmsState = 0x02;
427 6 WaitCmdCon = 0;
428 6 RxCmtOkBZ = 0;
429 6 //The SMS is Send Fail proc
430 6 }
431 5 }
432 4 }
433 3 break;
434 3 case 0x04:
435 3 if(Tim100MS == 1)
436 3 {
437 4 Tim100MS = 0;
438 4 if(RxCmgsBZ)
439 4 {
440 5 SmsState = 0x05;
441 5 WaitCmdCon = 0;
442 5 SmsReceiveStatus &= ~RxOkBZ;
443 5 mComLen = 0;
444 5 while(AT_CNMA[mComLen] != '\r') {
445 6 SmsTxBuffer[mComLen++] = AT_CNMA[mComLen];
446 6 }
447 5 SmsTxBuffer[mComLen++] = '\r';
448 5 SBUF0 = SmsTxBuffer[0];
*** ERROR C202 IN LINE 448 OF .\SMS.C: 'SBUF0': undefined identifier
449 5 mComSlot = 1;
450 5
451 5 //The SMS is Send Success proc
452 5 }
453 4 else if(WaitCmdCon++ > 250)//
454 4 {
455 5 WaitCmdCon = 0;
456 5 if(SmsSendFail++>10)
457 5 {
458 6 SmsState = 0x02;
459 6 WaitCmdCon = 0;
460 6 SmsSendFail = 0;
461 6 RxCmtOkBZ = 0;
462 6 //The SMS is Send Fail proc
C51 COMPILER V6.12 SMS 04/12/2009 00:20:03 PAGE 9
463 6 }
464 5 }
465 4 }
466 3 break;
467 3 case 0x05:
468 3 if(Tim100MS == 1)
469 3 {
470 4 Tim100MS = 0;
471 4 if(SmsReceiveStatus & RxCnmaOkBZ)
472 4 {
473 5 SmsState = 0x01;
474 5 SmsReceiveStatus &= ~RxCnmaOkBZ;
475 5 RxCmgsBZ = 0;
476 5 RxCmtOkBZ = 0;
477 5 WaitCmdCon = 0;
478 5 }
479 4 else if(WaitCmdCon++ > 250)//
480 4 {
481 5 SmsState = 0x04;
482 5 WaitCmdCon = 0;
483 5 if(SmsSendFail++>2)
484 5 {
485 6 SmsInitState = 0x55;
486 6 ModemInit ();
487 6 ModemBindBuff(InputBuffer);
488 6 Comm0EvtPointer = ProcModemReceive;
489 6 WaitCmdCon = 0;
490 6 SmsState = 0x01;
491 6 SmsSendFail = 0;
492 6 RxCmtOkBZ = 0;
493 6 }
494 5 }
495 4 }
496 3 break;
497 3 default :
498 3 SmsState = 0x01;
499 3 RxCmtOkBZ = 0;
500 3 break;
501 3 }
502 2 }
503 1 }
504 //-----------------------------------------
505 void SMSInItPointer(void)
506 {
507 1 SmsState = 0x01;
508 1 SmsInitState = 0x55;
509 1 ModemInit ();
510 1 ModemBindBuff(InputBuffer);
511 1 Comm0EvtPointer = ProcModemReceive;
512 1 }
C51 COMPILATION COMPLETE. 0 WARNING(S), 26 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -