📄 wllocate.lst
字号:
82 {
\ 000000 74F8 MOV A,#-0x8
\ 000002 12.... LCALL ?FUNC_ENTER_XDATA
\ 000005 ; Saved register size: 8
\ 000005 ; Auto size: 0
83 ConsolePutROMString("切换到公用信道:");
\ 000005 ; Setup parameters for call to function conPrintROMString_func
\ 000005 7A.. MOV R2,#(??xxxxromstr & 0xff)
\ 000007 7B.. MOV R3,#((??xxxxromstr >> 8) & 0xff)
\ 000009 12.... LCALL conPrintROMString_func
84 ConsolePutInitData(0,NormalChannelIdx); //输出调试信息
\ 00000C ; Setup parameters for call to function ConsolePutInitData
\ 00000C 90.... MOV DPTR,#NormalChannelIdx
\ 00000F E0 MOVX A,@DPTR
\ 000010 F5.. MOV ?V0 + 0,A
\ 000012 AC.. MOV R4,?V0 + 0
\ 000014 7D00 MOV R5,#0x0
\ 000016 7A00 MOV R2,#0x0
\ 000018 7B00 MOV R3,#0x0
\ 00001A 12.... LCALL ConsolePutInitData
85 _changetochannel(NormalChannelIdx); //切换信道
\ 00001D ; Setup parameters for call to function _changetochannel
\ 00001D 90.... MOV DPTR,#NormalChannelIdx
\ 000020 E0 MOVX A,@DPTR
\ 000021 F9 MOV R1,A
\ 000022 12.... LCALL _changetochannel
86 }
\ 000025 7F01 MOV R7,#0x1
\ 000027 02.... LJMP ?FUNC_LEAVE_XDATA
\ In segment CODE_C, align 1
\ ??xxxxromstr:
\ 000000 C7D0BBBB DB "\307\320\273\273\265\275\271\253\323\303\320\305\265\300:"
\ B5BDB9AB
\ D3C3D0C5
\ B5C03A00
87
88
\ In segment NEAR_CODE, align 1, keep-with-next
89 void ChangeToChannel(BYTE chlidx) //切换到指定信道函数
\ ChangeToChannel:
90 {
\ 000000 74F8 MOV A,#-0x8
\ 000002 12.... LCALL ?FUNC_ENTER_XDATA
\ 000005 ; Saved register size: 8
\ 000005 ; Auto size: 0
\ 000005 E9 MOV A,R1
\ 000006 FE MOV R6,A
91 ConsolePutROMString("切换到信道(11~26):");
\ 000007 ; Setup parameters for call to function conPrintROMString_func
\ 000007 7A.. MOV R2,#(??xxxxromstr_1 & 0xff)
\ 000009 7B.. MOV R3,#((??xxxxromstr_1 >> 8) & 0xff)
\ 00000B 12.... LCALL conPrintROMString_func
92 ConsolePutInitData(0,chlidx);
\ 00000E ; Setup parameters for call to function ConsolePutInitData
\ 00000E EE MOV A,R6
\ 00000F F5.. MOV ?V0 + 0,A
\ 000011 AC.. MOV R4,?V0 + 0
\ 000013 7D00 MOV R5,#0x0
\ 000015 7A00 MOV R2,#0x0
\ 000017 7B00 MOV R3,#0x0
\ 000019 12.... LCALL ConsolePutInitData
93 _changetochannel(chlidx);
\ 00001C ; Setup parameters for call to function _changetochannel
\ 00001C EE MOV A,R6
\ 00001D F9 MOV R1,A
\ 00001E 12.... LCALL _changetochannel
94 }
\ 000021 7F01 MOV R7,#0x1
\ 000023 02.... LJMP ?FUNC_LEAVE_XDATA
\ In segment CODE_C, align 1
\ ??xxxxromstr_1:
\ 000000 C7D0BBBB DB "\307\320\273\273\265\275\320\305\265\300(11~26):"
\ B5BDD0C5
\ B5C02831
\ 317E3236
\ 293A00
95
96
\ In segment NEAR_CODE, align 1, keep-with-next
97 void SleepSomeTime(int time) //休眠函数
\ SleepSomeTime:
98 {
\ 000000 74F8 MOV A,#-0x8
\ 000002 12.... LCALL ?FUNC_ENTER_XDATA
\ 000005 ; Saved register size: 8
\ 000005 ; Auto size: 0
\ 000005 EA MOV A,R2
\ 000006 FE MOV R6,A
\ 000007 EB MOV A,R3
\ 000008 FF MOV R7,A
99 ConsolePutROMString("休眠:");
\ 000009 ; Setup parameters for call to function conPrintROMString_func
\ 000009 7A.. MOV R2,#(??xxxxromstr_2 & 0xff)
\ 00000B 7B.. MOV R3,#((??xxxxromstr_2 >> 8) & 0xff)
\ 00000D 12.... LCALL conPrintROMString_func
100 ConsolePutInitData(0,time);
\ 000010 ; Setup parameters for call to function ConsolePutInitData
\ 000010 EE MOV A,R6
\ 000011 FC MOV R4,A
\ 000012 EF MOV A,R7
\ 000013 FD MOV R5,A
\ 000014 7A00 MOV R2,#0x0
\ 000016 7B00 MOV R3,#0x0
\ 000018 12.... LCALL ConsolePutInitData
101 ISRFOFF; //晶振关闭
\ 00001B 75E1E5 MOV 0xe1,#-0x1b
102 halSleep(time+100); //休眠
\ 00001E ; Setup parameters for call to function halSleep
\ 00001E 7464 MOV A,#0x64
\ 000020 2E ADD A,R6
\ 000021 FA MOV R2,A
\ 000022 7400 MOV A,#0x0
\ 000024 3F ADDC A,R7
\ 000025 FB MOV R3,A
\ 000026 EB MOV A,R3
\ 000027 33 RLC A
\ 000028 95E0 SUBB A,0xE0 /* A */
\ 00002A FC MOV R4,A
\ 00002B FD MOV R5,A
\ 00002C 12.... LCALL halSleep
103 ISRXON; //晶振打开
\ 00002F 75E1E2 MOV 0xe1,#-0x1e
104 ConsolePutROMString("唤醒\r\n");
\ 000032 ; Setup parameters for call to function conPrintROMString_func
\ 000032 7A.. MOV R2,#(??xxxxromstr_3 & 0xff)
\ 000034 7B.. MOV R3,#((??xxxxromstr_3 >> 8) & 0xff)
\ 000036 12.... LCALL conPrintROMString_func
105 }
\ 000039 7F01 MOV R7,#0x1
\ 00003B 02.... LJMP ?FUNC_LEAVE_XDATA
\ In segment CODE_C, align 1
\ ??xxxxromstr_2:
\ 000000 D0DDC3DF DB "\320\335\303\337:"
\ 3A00
\ In segment CODE_C, align 1
\ ??xxxxromstr_3:
\ 000000 BBBDD0D1 DB "\273\275\320\321\015\012"
\ 0D0A00
106
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
107 BYTE DebugParam[20];
\ DebugParam:
\ 000000 DS 20
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
108 BYTE DebugParamLen;
\ DebugParamLen:
\ 000000 DS 1
\ In segment NEAR_CODE, align 1, keep-with-next
109 void WirelesDebugOut(BYTE code) //无线发送调试信息函数
\ WirelesDebugOut:
110 {
\ 000000 74F8 MOV A,#-0x8
\ 000002 12.... LCALL ?FUNC_ENTER_XDATA
\ 000005 ; Saved register size: 8
\ 000005 ; Auto size: 0
\ 000005 E9 MOV A,R1
\ 000006 FE MOV R6,A
111 BYTE OldChlIdx;
112
113 OldChlIdx=ChannelIdx;
\ 000007 90.... MOV DPTR,#ChannelIdx
\ 00000A E0 MOVX A,@DPTR
\ 00000B FF MOV R7,A
114 DebugCode=code;
\ 00000C EE MOV A,R6
\ 00000D 90.... MOV DPTR,#DebugCode
\ 000010 F0 MOVX @DPTR,A
115 ChangeToChannel(DEBUGCHANNEL);
\ 000011 ; Setup parameters for call to function ChangeToChannel
\ 000011 7919 MOV R1,#0x19
\ 000013 12.... LCALL ChangeToChannel
116 WirelessSendData(MSG_DEBUG_OUT);
\ 000016 ; Setup parameters for call to function WirelessSendData
\ 000016 79A0 MOV R1,#-0x60
\ 000018 12.... LCALL WirelessSendData
117 DebugParamLen=0;
\ 00001B 7400 MOV A,#0x0
\ 00001D 90.... MOV DPTR,#DebugParamLen
\ 000020 F0 MOVX @DPTR,A
118 ChangeToChannel(OldChlIdx);
\ 000021 ; Setup parameters for call to function ChangeToChannel
\ 000021 EF MOV A,R7
\ 000022 F9 MOV R1,A
\ 000023 12.... LCALL ChangeToChannel
119
120 }
\ 000026 7F01 MOV R7,#0x1
\ 000028 02.... LJMP ?FUNC_LEAVE_XDATA
\ In segment NEAR_CODE, align 1, keep-with-next
121 int TickGetDiff(TICK now,TICK start) //返回值单位:50ms
\ TickGetDiff:
122 {
\ 000000 74F1 MOV A,#-0xf
\ 000002 12.... LCALL ?FUNC_ENTER_XDATA
\ 000005 ; Saved register size: 15
\ 000005 ; Auto size: 0
\ 000005 8A.. MOV ?V0 + 0,R2
\ 000007 8B.. MOV ?V0 + 1,R3
\ 000009 8C.. MOV ?V0 + 2,R4
\ 00000B 8D.. MOV ?V0 + 3,R5
\ 00000D 740F MOV A,#0xf
\ 00000F 12.... LCALL ?XSTACK_DISP0_8
\ 000012 78.. MOV R0,#?V0 + 4
\ 000014 12.... LCALL ?L_MOV_X
123 return halMACTimerDelta(now,start) *50/LRWPAN_SYMBOLS_PER_SECOND;
\ 000017 78.. MOV R0,#?V0 + 0
\ 000019 79.. MOV R1,#?V0 + 4
\ 00001B 12.... LCALL ?L_SUB
\ 00001E 90.... MOV DPTR,#__Constant_fffff
\ 000021 78.. MOV R0,#?V0 + 0
\ 000023 12.... LCALL ?L_AND_X
\ 000026 90.... MOV DPTR,#__Constant_32
\ 000029 78.. MOV R0,#?V0 + 4
\ 00002B 12.... LCALL ?L_MOV_X
\ 00002E 78.. MOV R0,#?V0 + 0
\ 000030 79.. MOV R1,#?V0 + 4
\ 000032 12.... LCALL ?L_MUL
\ 000035 90.... MOV DPTR,#__Constant_f424
\ 000038 78.. MOV R0,#?V0 + 4
\ 00003A 12.... LCALL ?L_MOV_X
\ 00003D 78.. MOV R0,#?V0 + 0
\ 00003F 79.. MOV R1,#?V0 + 4
\ 000041 12.... LCALL ?UL_DIV_MOD
\ 000044 AA.. MOV R2,?V0 + 0
\ 000046 AB.. MOV R3,?V0 + 1
\ 000048 7F08 MOV R7,#0x8
\ 00004A 02.... LJMP ?FUNC_LEAVE_XDATA
124 }
125
126
\ In segment NEAR_CODE, align 1, keep-with-next
127 void MainLoop(void) //主循环函数
\ MainLoop:
128 {
\ 000000 74F3 MOV A,#-0xd
\ 000002 12.... LCALL ?FUNC_ENTER_XDATA
\ 000005 ; Saved register size: 13
\ 000005 ; Auto size: 0
129
130 BYTE TxPower;
131 BYTE rst;
132 unsigned int xyz=0;
\ 000005 7E00 MOV R6,#0x0
\ 000007 7F00 MOV R7,#0x0
133
134 ConsolePutROMString("Set Channel...\r\n"); //串口输出调试信息
\ 000009 ; Setup parameters for call to function conPrintROMString_func
\ 000009 7A.. MOV R2,#(??xxxxromstr_4 & 0xff)
\ 00000B 7B.. MOV R3,#((??xxxxromstr_4 >> 8) & 0xff)
\ 00000D 12.... LCALL conPrintROMString_func
135 NormalChannelIdx=COMMCHANNEL;
\ 000010 741A MOV A,#0x1a
\ 000012 90.... MOV DPTR,#NormalChannelIdx
\ 000015 F0 MOVX @DPTR,A
136 ChangeToNormalChannel(); //切换信道到公用信道
\ 000016 ; Setup parameters for call to function ChangeToNormalChannel
\ 000016 12.... LCALL ChangeToNormalChannel
137
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -