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

📄 at.lis

📁 AVR单片机系统开发经典实例部分源程序
💻 LIS
📖 第 1 页 / 共 3 页
字号:
                        .module at.c
                        .area lit(rom, con, rel)
 0000           _ATStageStr1::
 0000 0A2A2A2A2041542053746167653A2000  .byte 10,42,42,42,32,'A,'T,32,'S,'t,'a,'g,'e,58,32,0
 0010                   .dbfile C:\AVR\AT-Modem__PPP__UDP__IC\at.c
 0010                   .dbsym e ATStageStr1 _ATStageStr1 A[16:16]kc
 0010           _ATStageStr2::
 0010 49646C650A00      .byte 'I,'d,'l,'e,10,0
 0016                   .dbsym e ATStageStr2 _ATStageStr2 A[6:6]kc
 0016           _ATStageStr3::
 0016 4469616C20496E697420310A00        .byte 'D,'i,'a,'l,32,'I,'n,'i,'t,32,49,10,0
 0023                   .dbsym e ATStageStr3 _ATStageStr3 A[13:13]kc
 0023           _ATStageStr4::
 0023 4469616C20496E697420320A00        .byte 'D,'i,'a,'l,32,'I,'n,'i,'t,32,50,10,0
 0030                   .dbsym e ATStageStr4 _ATStageStr4 A[13:13]kc
 0030           _ATStageStr5::
 0030 4469616C20496E697420330A00        .byte 'D,'i,'a,'l,32,'I,'n,'i,'t,32,51,10,0
 003D                   .dbsym e ATStageStr5 _ATStageStr5 A[13:13]kc
 003D           _ATStageStr6::
 003D 4469616C696E670A00        .byte 'D,'i,'a,'l,'i,'n,'g,10,0
 0046                   .dbsym e ATStageStr6 _ATStageStr6 A[9:9]kc
 0046           _ATStageStr7::
 0046 5050500A00        .byte 'P,'P,'P,10,0
 004B                   .dbsym e ATStageStr7 _ATStageStr7 A[5:5]kc
 004B           _ATStageStr8::
 004B 4469736320310A00  .byte 'D,'i,'s,'c,32,49,10,0
 0053                   .dbsym e ATStageStr8 _ATStageStr8 A[8:8]kc
 0053           _ATStageStr9::
 0053 4469736320320A00  .byte 'D,'i,'s,'c,32,50,10,0
 005B                   .dbsym e ATStageStr9 _ATStageStr9 A[8:8]kc
 005B           _ATStageStr10::
 005B 556E6B6E6F776E0A00        .byte 'U,'n,'k,'n,'o,'w,'n,10,0
 0064                   .dbsym e ATStageStr10 _ATStageStr10 A[9:9]kc
 0064           _ATStageStr20::
 0064 2A2A2A20415420526574727920466169  .byte 42,42,42,32,'A,'T,32,'R,'e,'t,'r,'y,32,'F,'a,'i
 0074 6C0A00            .byte 'l,10,0
 0077                   .dbsym e ATStageStr20 _ATStageStr20 A[19:19]kc
 0077           _ATDialTermStr::
 0077 41540A00          .byte 'A,'T,10,0
 007B                   .dbsym e ATDialTermStr _ATDialTermStr A[4:4]kc
                        .area text(rom, con, rel)
 0000                   .dbfile C:\AVR\AT-Modem__PPP__UDP__IC\at.c
 0000                   .dbfunc e AT_DisplayStage _AT_DisplayStage fc
                        .even
 0000           _AT_DisplayStage::
 0000 0E940000          xcall push_gset1
 0004                   .dbline -1
 0004                   .dbline 72
 0004           ; // this bit takes care of the AT modem dialing etc
 0004           ; 
 0004           ; /*
 0004           ;  * Copyright (C) 2003-2004 by Clive Moss All rights reserved.
 0004           ;  *
 0004           ;  * Help & Contributions from D.J.Armstrong
 0004           ; 
 0004           ;  * Redistribution and use in source and binary forms, with or without
 0004           ;  * modification, are permitted provided that the following conditions
 0004           ;  * are met:
 0004           ;  *
 0004           ;  * 1. Redistributions of source code must retain the above copyright
 0004           ;  *    notice, this list of conditions and the following disclaimer.
 0004           ;  * 2. Redistributions in binary form must reproduce the above copyright
 0004           ;  *    notice, this list of conditions and the following disclaimer in the
 0004           ;  *    documentation and/or other materials provided with the distribution.
 0004           ;  * 3. Neither the name of the copyright holders nor the names of
 0004           ;  *    contributors may be used to endorse or promote products derived
 0004           ;  *    from this software without specific prior written permission.
 0004           ;  *
 0004           ;  * THIS SOFTWARE IS PROVIDED BY CLIVE MOSS 'AS IS' AND ANY EXPRESS OR
 0004           ;  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 0004           ;  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 0004           ;  * ARE DISCLAIMED.
 0004           ;  * IN NO EVENT SHALL CLIVE MOSS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 0004           ;  * INDIRECT, INCIDENTAL,SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 0004           ;  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 0004           ;  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 0004           ;  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 0004           ;  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
 0004           ;  * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 0004           ;  * SUCH DAMAGE.
 0004           ;  */
 0004           ; 
 0004           ; //#ifdef CPU_eZ8
 0004           ; //    #pragma stkck                                                                   // enable stack checking
 0004           ; //#endif
 0004           ; 
 0004           ; #include <string.h>
 0004           ; #include <stdlib.h>
 0004           ; #include <stdio.h>
 0004           ; #include <ctype.h>
 0004           ; 
 0004           ; #include "common.h"
 0004           ; #include "at.h"
 0004           ; #include "ppp.h"
 0004           ; 
 0004           ; //*************************************************************************************
 0004           ; 
 0004           ; #ifdef Debug
 0004           ; flash char    ATStageStr1[]   =       "\n*** AT Stage: ";
 0004           ; flash char    ATStageStr2[]   =       "Idle\n";
 0004           ; flash char    ATStageStr3[]   =       "Dial Init 1\n";
 0004           ; flash char    ATStageStr4[]   =       "Dial Init 2\n";
 0004           ; flash char    ATStageStr5[]   =       "Dial Init 3\n";
 0004           ; flash char    ATStageStr6[]   =       "Dialing\n";
 0004           ; flash char    ATStageStr7[]   =       "PPP\n";
 0004           ; flash char    ATStageStr8[]   =       "Disc 1\n";
 0004           ; flash char    ATStageStr9[]   =       "Disc 2\n";
 0004           ; flash char    ATStageStr10[]  =       "Unknown\n";
 0004           ; flash char    ATStageStr20[]  =       "*** AT Retry Fail\n";
 0004           ; flash char    ATDialTermStr[] =       "AT\n";
 0004           ; #endif
 0004           ; 
 0004           ; T_AT          AT;
 0004           ; 
 0004           ; //*************************************************************************************
 0004           ; 
 0004           ; #ifdef Debug
 0004           ; 
 0004           ; bool AT_DisplayStage(void)
 0004           ; {
 0004                   .dbline 73
 0004           ;       if(!SendDebugRStr(ATStageStr1)) return false;
 0004 00E0              ldi R16,<_ATStageStr1
 0006 10E0              ldi R17,>_ATStageStr1
 0008 0E940000          xcall _SendDebugRStr
 000C 0023              tst R16
 000E 11F4              brne L2
 0010                   .dbline 73
 0010 0027              clr R16
 0012 4FC0              xjmp L1
 0014           L2:
 0014                   .dbline 74
 0014           ;       switch (AT.Stage)
 0014 40910300          lds R20,_AT+3
 0018 5527              clr R21
 001A 4030              cpi R20,0
 001C 4507              cpc R20,R21
 001E E9F0              breq L8
 0020           X0:
 0020 4130              cpi R20,1
 0022 E0E0              ldi R30,0
 0024 5E07              cpc R21,R30
 0026 F1F0              breq L9
 0028 4230              cpi R20,2
 002A E0E0              ldi R30,0
 002C 5E07              cpc R21,R30
 002E F9F0              breq L10
 0030 4330              cpi R20,3
 0032 E0E0              ldi R30,0
 0034 5E07              cpc R21,R30
 0036 01F1              breq L11
 0038 4430              cpi R20,4
 003A E0E0              ldi R30,0
 003C 5E07              cpc R21,R30
 003E 09F1              breq L12
 0040 4530              cpi R20,5
 0042 E0E0              ldi R30,0
 0044 5E07              cpc R21,R30
 0046 11F1              breq L13
 0048 4630              cpi R20,6
 004A E0E0              ldi R30,0
 004C 5E07              cpc R21,R30
 004E 19F1              breq L14
 0050 4730              cpi R20,7
 0052 E0E0              ldi R30,0
 0054 5E07              cpc R21,R30
 0056 21F1              breq L15
 0058 28C0              xjmp L4
 005A           X1:
 005A                   .dbline 75
 005A           ;       {
 005A           L8:
 005A                   .dbline 76
 005A           ;               case AT_Idle            :       return SendDebugRStr(ATStageStr2);
 005A 00E0              ldi R16,<_ATStageStr2
 005C 10E0              ldi R17,>_ATStageStr2
 005E 0E940000          xcall _SendDebugRStr
 0062 27C0              xjmp L1
 0064           L9:
 0064                   .dbline 77
 0064           ;               case AT_DialInit1       :       return SendDebugRStr(ATStageStr3);
 0064 00E0              ldi R16,<_ATStageStr3
 0066 10E0              ldi R17,>_ATStageStr3
 0068 0E940000          xcall _SendDebugRStr
 006C 22C0              xjmp L1
 006E           L10:
 006E                   .dbline 78
 006E           ;               case AT_DialInit2       :       return SendDebugRStr(ATStageStr4);
 006E 00E0              ldi R16,<_ATStageStr4
 0070 10E0              ldi R17,>_ATStageStr4
 0072 0E940000          xcall _SendDebugRStr
 0076 1DC0              xjmp L1
 0078           L11:
 0078                   .dbline 79
 0078           ;               case AT_DialInit3       :       return SendDebugRStr(ATStageStr5);
 0078 00E0              ldi R16,<_ATStageStr5
 007A 10E0              ldi R17,>_ATStageStr5
 007C 0E940000          xcall _SendDebugRStr
 0080 18C0              xjmp L1
 0082           L12:
 0082                   .dbline 80
 0082           ;               case AT_Dial            :       return SendDebugRStr(ATStageStr6);
 0082 00E0              ldi R16,<_ATStageStr6
 0084 10E0              ldi R17,>_ATStageStr6
 0086 0E940000          xcall _SendDebugRStr
 008A 13C0              xjmp L1
 008C           L13:
 008C                   .dbline 81
 008C           ;               case AT_PPP                     :       return SendDebugRStr(ATStageStr7);
 008C 00E0              ldi R16,<_ATStageStr7
 008E 10E0              ldi R17,>_ATStageStr7
 0090 0E940000          xcall _SendDebugRStr

⌨️ 快捷键说明

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