📄 at.lis
字号:
.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 + -