?? 800.lst
字號:
438 /*****************************************************************
439 ******************************************************************/
440
441 void Send_Alarm(void)
442 {
443 1 uchar i;
444 1
445 1 Send_AA(AT_CMGS_,10);
446 1 delay_us(4000);
447 1 for(i=0;i<11;i++)
448 1 {
450 2 delay_us(4000);
451 2 }
452 1 delay_us(4000);
453 1 Send_AA(GPL,23);
454 1
455 1 delay_ms(12000);
456 1
457 1 Send_AA(AT_CMGS_,10);
458 1 delay_us(4000);
459 1 for(i=0;i<11;i++)
460 1 {
461 2 Send_one_Byte(byte_read(0x2E00+i));
462 2 delay_us(4000);
463 2 }
464 1 delay_us(4000);
465 1 Send_AA(GPL,23);
466 1 delay_ms(5);
467 1
468 1 }
469 /************************************************************
470 短消息命令判斷處理
471 ************************************************************/
472 void AT_IO(void)
473 {
474 1 uchar i;
475 1 if(memcmp(CMT,buffer,6)==0) //短消息來電提示
476 1 {
477 2 delay_ms(1000);
478 2 Send_AA(AT_CMGR_,11); //讀取短消息
479 2 delay_us(4000);
480 2 Send_one_Byte(buffer[7]);
481 2 delay_us(4000);
482 2 Send_one_Byte(0x0D);
483 2 delay_us(4000);
484 2 Send_one_Byte(0x0A);
485 2 initial_UART();
C51 COMPILER V7.00 800 08/08/2006 18:57:28 PAGE 9
486 2 // OFF_1=0;
487 2 }
488 1
489 1 else if(memcmp(AT_READY,buffer,10)==0) //AT+READY
490 1 {
491 2 if(Send_num==1)
492 2 {
493 3
494 3 delay_ms(7000);
495 3 Send_Alarm();
496 3 initial_UART();
497 3 Send_num=0;
498 3 }
499 2 else if(Send_num==2)
500 2 {
501 3 LED=0;
502 3 delay_ms(7000);
503 3 Send_E001();
504 3 initial_UART();
505 3 Send_num=0;
506 3 }
507 2 else if(Send_num==3)
508 2 {
509 3 LED=0;
510 3 delay_ms(7000);
511 3 Send_D001();
512 3 initial_UART();
513 3 Send_num=0;
514 3 }
516 2 // uart0_init(3);
517 2 }
518 1
519 1 else if(memcmp(RING,buffer,6)==0) //來電提示
520 1 {
521 2 Send_AA(AT_QCCAV,10); //接聽
522 2 initial_UART();
523 2 }
524 1
525 1 else if(memcmp(CMGR_,buffer,8)==0) //+CMGR:
526 1 {
527 2 i=Lookup(buffer,5); //
528 2 if(memcmp(SN,(buffer+i),6)==0) //比較密碼
529 2 {
530 3 if(memcmp(AON,(buffer+i+6),3)==0) //比較指令 AON 開機指令
531 3 {
532 4 A_IO=1;
533 4 delay_ms(5000);
534 4 Send_CMGS(buffer+18);
535 4 delay_us(4000);
536 4 Send_AA(AON_OK,14);
537 4 }
538 3 else if(memcmp(BON,(buffer+i+6),3)==0) //比較指令 BON 開機指令
539 3 {
540 4 B_IO=1;
541 4 delay_ms(5000);
542 4 Send_CMGS(buffer+18);
544 4 Send_AA(BON_OK,14);
545 4 }
546 3 else if(memcmp(AOFF,(buffer+i+6),4)==0) //比較指令 AOFF 關機指令
547 3 {
C51 COMPILER V7.00 800 08/08/2006 18:57:28 PAGE 10
548 4 A_IO=0;
549 4 delay_ms(5000);
550 4 Send_CMGS(buffer+18);
551 4 delay_us(4000);
552 4 Send_AA(AOFF_OK,15);
553 4 }
554 3 else if(memcmp(BOFF,(buffer+i+6),4)==0) //比較指令 BOFF 關機指令
555 3 {
556 4 B_IO=0;
557 4 delay_ms(5000);
558 4 Send_CMGS(buffer+18);
559 4 delay_us(4000);
560 4 Send_AA(BOFF_OK,15);
561 4 }
562 3 else if(memcmp(OFF,(buffer+i+6),3)==0) //比較指令 OFF 關機指令
563 3 {
564 4 LED=1;
565 4 delay_ms(5000);
566 4 Send_CMGS(buffer+18);
567 4 delay_us(4000);
568 4 Send_AA(OFF_OK,14);
569 4 }
570 3 else if(buffer[i+7]==0x53) //比較指令 S = 密碼改寫
571 3 {
572 4 if(Write_SN((buffer+i+9),SN)==1) //
573 4 {
574 5 delay_ms(5000);
575 5 Send_CMGS(buffer+18);
576 5 delay_us(4000);
577 5 Send_AA(SN_OK,13);
578 5 // OFF_2=0;
579 5 }
580 4 else
581 4 {
582 5 delay_ms(5000);
583 5 Send_CMGS(buffer+18);
584 5 delay_us(4000);
585 5 Send_AA(SN_OK,13);
586 5 // OFF_2=0;
587 5 }
588 4 // OFF_2=0;
589 4 }
590 3 else if(buffer[i+6]==0x41) //比較指令 A 設置手機號碼
591 3 {
592 4 if(Write_ATT(buffer+i+7,0x2C00)==1)
593 4 {
594 5 delay_ms(5000);
595 5 Send_CMGS(buffer+18);
596 5 delay_us(4000);
597 5 Send_AA(ATT_OK,15);
598 5 }
599 4 else
600 4 {
601 5 delay_ms(5000);
602 5 Send_CMGS(buffer+18);
603 5 delay_us(4000);
604 5 Send_AA(ATT_ERROR,17);
605 5 }
606 4 }
607 3 else if(buffer[i+6]==0x42) //比較指令 B 設置手機號碼
608 3 {
609 4 if(Write_ATT(buffer+i+7,0x2E00)==1)
C51 COMPILER V7.00 800 08/08/2006 18:57:28 PAGE 11
610 4 {
611 5 delay_ms(5000);
612 5 Send_CMGS(buffer+18);
613 5 delay_us(4000);
614 5 Send_AA(ATT_OK,15);
615 5 }
616 4 else
617 4 {
618 5 delay_ms(5000);
619 5 Send_CMGS(buffer+18);
620 5 delay_us(4000);
621 5 Send_AA(ATT_ERROR,17);
622 5 }
623 4 }
624 3 }
625 2 else
626 2 {
627 3 delay_ms(5000);
628 3 Send_CMGS(buffer+18);
629 3 delay_us(4000);
630 3 Send_AA(SN_ERROR,16);
631 3 }
632 2 delay_ms(9000);
633 2 Send_AA(AT_SMSD,11);
634 2 // OFF_1=1;
635 2 initial_UART();
636 2 }
637 1
638 1 }
639 /**********************************************************************
640 讀取短消息
641 ***********************************************************************/
642 /*
643 void SMS_read(void)
644 {
645 Send_AA(AT_CMGR_,11); //讀取短消息
646 Send_one_Byte(buffer[7]);
647 Send_one_Byte(0x0D);
648 Send_one_Byte(0x0A);
649 }
650 */
651 /**********************************************************************
652 判斷第幾條短信
653 ***********************************************************************/
654 /*
655 void SMS_num(void)
656 {
657 uchar i;
658 for(i=7;
659 while(buffer[i]!=0x0D);
660 }
661 */
662 /**********************************************************************
663 ***********************************************************************/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -