📄 wllocate.lst
字号:
##############################################################################
# #
# IAR 8051 C/C++ Compiler V7.20H/W32 11/Dec/2008 13:41:49 #
# Copyright 2004-2006 IAR Systems. All rights reserved. #
# #
# Core = plain #
# Code model = near #
# Data model = large #
# Calling convention = xdata reentrant #
# Constant location = data #
# Dptr setup = 1,16 #
# Source file = D:\zigbee\演示程序\简化协议的无线收发演示\demo_pr #
# o\src\WlLocate.c #
# Command line = -lC D:\zigbee\演示程序\简化协议的无线收发演示\dem #
# o_pro\Debug\List\ -lA D:\zigbee\演示程序\简化协议 #
# 的无线收发演示\demo_pro\Debug\List\ -o #
# D:\zigbee\演示程序\简化协议的无线收发演示\demo_pr #
# o\Debug\Obj\ -e -z2 --no_cse --no_unroll #
# --no_inline --no_code_motion --no_tbaa --debug #
# --core=plain --dptr=16,1 --data_model=large #
# --code_model=near --calling_convention=xdata_reen #
# trant --place_constants=data --nr_virtual_regs 8 #
# -I "C:\Program Files\IAR Systems\Embedded #
# Workbench 4.05 Evaluation version\8051\INC\" -I #
# "C:\Program Files\IAR Systems\Embedded Workbench #
# 4.05 Evaluation version\8051\INC\CLIB\" #
# D:\zigbee\演示程序\简化协议的无线收发演示\demo_pr #
# o\src\WlLocate.c #
# List file = D:\zigbee\演示程序\简化协议的无线收发演示\demo_pr #
# o\Debug\List\WlLocate.lst #
# Object file = D:\zigbee\演示程序\简化协议的无线收发演示\demo_pr #
# o\Debug\Obj\WlLocate.r51 #
# #
# #
##############################################################################
D:\zigbee\演示程序\简化协议的无线收发演示\demo_pro\src\WlLocate.c
1
2 #ifndef ENABLE_DEBUG
3 //#define ENABLE_DEBUG
4 #endif
5
6 #include <string.h>
7
8
9 #include "msstate_lrwpan.h"
\ In segment SFR_AN, at 0xbe
\ unsigned char volatile __sfr SLEEP
\ SLEEP:
\ 000000 DS 1
\ In segment SFR_AN, at 0xe1
\ unsigned char volatile __sfr RFST
\ RFST:
\ 000000 DS 1
10 #include "MAC.h"
11 #include <stdlib.h>
12
13 #include "SensorComm.h"
14
15
16
17 #define APP_TAG_STARTUP (0)
18 #define APP_TAG_INITED (1)
19 #define APP_TAG_JOINREQUESTED (2)
20 #define APP_TAG_JOINEDGROUP (3)
21 #define APP_TAG_ADDITIONALlISTEN (4)
22 #define APP_CAPTAIN_STARTUP (5)
23 #define APP_CAPTAIN_INITED (6)
24 #define APP_CAPTAIN_CALLING (7)
25 #define APP_CAPTAIN_REPLACECAPTAIN (8)
26
27 #define STARTUP_MSG "ZigBee Demo RFD Application v1.0 "
28 #define MAC_RESPONSE_WAITFOR_DURATION (50)
29 #define MAC_ACK_WAITFOR_DURATION (50)
30 #define QUERY_INT_DURATION (200)
31 #define MAC_QUERY_WAIT_DURATION (25)
32 #define MAC_WAITFOR_QUERY_DURATION (250)
33
34
35 #define PHYSetChannel(x) macSetChannel(x)
36 #define PHYGetPhyChannel() macGetChannel()
37 #define PHYSetTxPower(x) halSetTxPower(x)
38
39
40
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
41 REPDATTOSENSORREC RepDatToSensorRec[MAXREPRECNUM];
\ RepDatToSensorRec:
\ 000000 DS 24
42
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
43 BYTE ChannelIdx=0;
\ ChannelIdx:
\ 000000 DS 1
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
44 BYTE NewChannelIdx,GroupChannelIdx,NormalChannelIdx,NewGroupChannel;
\ NewChannelIdx:
\ 000000 DS 1
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
\ GroupChannelIdx:
\ 000000 DS 1
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
\ NormalChannelIdx:
\ 000000 DS 1
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
\ NewGroupChannel:
\ 000000 DS 1
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
45 NODE_STUTAS ThisNode;
\ ThisNode:
\ 000000 DS 138
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
46 TICK LedChangeTime;
\ LedChangeTime:
\ 000000 DS 4
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
47 TICK TAGLastConnectTime;
\ TAGLastConnectTime:
\ 000000 DS 4
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
48 TICK TAGAddtionalListenTime;
\ TAGAddtionalListenTime:
\ 000000 DS 4
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
49 TICK TAGOnlineStartTime;
\ TAGOnlineStartTime:
\ 000000 DS 4
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
50 TICK CAPTAINBroadcastStartTime;
\ CAPTAINBroadcastStartTime:
\ 000000 DS 4
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
51 TICK CAPTAINLastCallingTime;
\ CAPTAINLastCallingTime:
\ 000000 DS 4
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
52 TICK SENSORLastBroadcastTime;
\ SENSORLastBroadcastTime:
\ 000000 DS 4
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
53 TICK CAPTAINSingleCallingTime;
\ CAPTAINSingleCallingTime:
\ 000000 DS 4
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
54 TICK SENSORLastReportTime;
\ SENSORLastReportTime:
\ 000000 DS 4
55
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
56 BYTE WatchDogReset=0;
\ WatchDogReset:
\ 000000 DS 1
57
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
58 TICK CAPTAINLastSleepTime;
\ CAPTAINLastSleepTime:
\ 000000 DS 4
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
59 TICK ChannelStatiTime;
\ ChannelStatiTime:
\ 000000 DS 4
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
60 BYTE APPSTATE;
\ APPSTATE:
\ 000000 DS 1
61
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
62 BYTE SensorInfo=0;
\ SensorInfo:
\ 000000 DS 1
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
63 BYTE JoinReqCount=0;
\ JoinReqCount:
\ 000000 DS 1
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
64 BYTE DebugCode=0;
\ DebugCode:
\ 000000 DS 1
\ In segment XDATA_Z, align 1, keep-with-next
\ 000000 REQUIRE __INIT_XDATA_Z
65 BYTE mainLoop=0;
\ mainLoop:
\ 000000 DS 1
66
67
68 extern void WirelessSendData(BYTE frame);
69 extern void Delay(WORD i);
70
71
\ In segment NEAR_CODE, align 1, keep-with-next
72 void _changetochannel(BYTE idx) //切换信道
\ _changetochannel:
73 {
\ 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
74 ISRFOFF; //晶振关闭
\ 000007 75E1E5 MOV 0xe1,#-0x1b
75 PHYSetChannel(idx); //切换信道物理层函数
\ 00000A ; Setup parameters for call to function macSetChannel
\ 00000A EE MOV A,R6
\ 00000B F9 MOV R1,A
\ 00000C 12.... LCALL macSetChannel
76 ISRXON; //晶振打开
\ 00000F 75E1E2 MOV 0xe1,#-0x1e
77 ChannelIdx=idx;
\ 000012 EE MOV A,R6
\ 000013 90.... MOV DPTR,#ChannelIdx
\ 000016 F0 MOVX @DPTR,A
78 }
\ 000017 7F01 MOV R7,#0x1
\ 000019 02.... LJMP ?FUNC_LEAVE_XDATA
79
80
\ In segment NEAR_CODE, align 1, keep-with-next
81 void ChangeToNormalChannel(void) //切换到公用信道函数
\ ChangeToNormalChannel:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -