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

📄 node.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 3 页
字号:
##############################################################################
#                                                                            #
# IAR 8051 C/C++ Compiler V7.20H/W32                   16/Jan/2007  15:33:58 #
# Copyright 2004-2006 IAR Systems. All rights reserved.                      #
#                                                                            #
#    Core               =  plain                                             #
#    Code model         =  banked                                            #
#    Data model         =  large                                             #
#    Calling convention =  xdata reentrant                                   #
#    Constant location  =  data                                              #
#    Dptr setup         =  1,16                                              #
#    Source file        =  E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\apps\node.c                                    #
#    Command line       =  -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\SRC\LIB\" -I         #
#                          "C:\Program Files\IAR Systems\Embedded Workbench  #
#                          4.05 Evaluation version\8051\INC\CLIB\" -I        #
#                          E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\Test\mac\mac_loc\..\..\..\include\ -I          #
#                          E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\Test\mac\mac_loc\..\..\..\include\mac\cc2430\  #
#                          -I E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_E #
#                          ngine\Test\mac\mac_loc\..\..\..\include\hal\cc243 #
#                          0\ -I E:\公司产品资料\Zigbee\cc2431\cc2431定位\LO #
#                          C_Engine\Test\mac\mac_loc\..\..\..\apps\ -D       #
#                          USE_LED -D SOC_BB -lCN "E:\公司产品资料\Zigbee\cc #
#                          2431\cc2431定位\LOC_Engine\Test\mac\mac_loc\SOC_B #
#                          B, hex\List\" -lA "E:\公司产品资料\Zigbee\cc2431\ #
#                          cc2431定位\LOC_Engine\Test\mac\mac_loc\SOC_BB,    #
#                          hex\List\" -o "E:\公司产品资料\Zigbee\cc2431\cc24 #
#                          31定位\LOC_Engine\Test\mac\mac_loc\SOC_BB,        #
#                          hex\Obj\" -e -s9 --debug --core=plain             #
#                          --dptr=16,1 --data_model=large                    #
#                          --code_model=banked --calling_convention=xdata_re #
#                          entrant --place_constants=data --nr_virtual_regs  #
#                          8 E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_En #
#                          gine\apps\node.c                                  #
#    List file          =  E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\Test\mac\mac_loc\SOC_BB, hex\List\node.lst     #
#    Object file        =  E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engi #
#                          ne\Test\mac\mac_loc\SOC_BB, hex\Obj\node.r51      #
#                                                                            #
#                                                                            #
##############################################################################

E:\公司产品资料\Zigbee\cc2431\cc2431定位\LOC_Engine\apps\node.c
      1          /******************************************************************************
      2          *                                                                             *
      3          *        **********                                                           *
      4          *       ************                                                          *
      5          *      ***        ***                                                         *
      6          *     ***    ++    ***                                                        *
      7          *     ***   +  +   ***                      CHIPCON                           *
      8          *     ***   +                                                                 *
      9          *     ***   +  +   ***                                                        *
     10          *     ***    ++    ***                                                        *
     11          *      ***        ***                                                         *
     12          *       ************                                                          *
     13          *        **********                                                           *
     14          *                                                                             *
     15          *******************************************************************************
     16          
     17          Filename:     node.c
     18          Target:       cc2431/ cc2430
     19          Author:       KJA
     20          Revised:      14/02-2006
     21          Revision:     1.0
     22          
     23          Description:
     24          This file implements all function which is common for both Blind and Reference
     25          Node.
     26          
     27          
     28          ******************************************************************************/
     29          
     30          #include "mac_headers.h"

   \                                 In segment SFR_AN, at 0x95
   \   unsigned char volatile __sfr ST0
   \                     ST0:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0x96
   \   unsigned char volatile __sfr ST1
   \                     ST1:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0x97
   \   unsigned char volatile __sfr ST2
   \                     ST2:
   \   000000                DS 1
     31          #include "hal.h"
     32          #include "node.h"
     33          #include "stdarg.h"
     34          #include "stdio.h"
     35          #ifdef CC2430EB
     36          #include "lcd.h"
     37          #endif
     38          
     39          NODE_TYPE   nodeType;

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     40          BOOL        parametersReceived = FALSE;
   \                     parametersReceived:
   \   000000                DS 1

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     41          BOOL        blinkLed = FALSE;
   \                     blinkLed:
   \   000000                DS 1

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     42          UINT8       ledBlinkCounter;
   \                     ledBlinkCounter:
   \   000000                DS 1
     43          
     44          // main variables

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     45          NODE_TYPE nodeType;
   \                     nodeType:
   \   000000                DS 1

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     46          UINT16_2  x, y;
   \                     x:
   \   000000                DS 2

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
   \                     y:
   \   000000                DS 2

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     47          UINT8     z;
   \                     z:
   \   000000                DS 1
     48          

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     49          MSG_BUFFER buffer;
   \                     buffer:
   \   000000                DS 145
     50          
     51          
     52          // flags

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
     53          BOOL msgReceived;
   \                     msgReceived:
   \   000000                DS 1
     54          
     55          
     56          /******************************************************************************
     57          *
     58          * Function to handle received packets
     59          *
     60          * This function handle messages common for both Blind and reference nodes.
     61          * Other messages will be handled in blindNode.c or refNode.c
     62          ******************************************************************************/

   \                                 In segment BANKED_CODE, align 1, keep-with-next
     63          void NodeDataIndication(MCPS_DATA_INDICATION *pMDI){
   \                     NodeDataIndication:
   \   000000   74F6         MOV     A,#-0xa
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 10
   \   000005                ; Auto size: 0
     64             BYTE packetType;
     65          
     66             packetType = pMDI->pMsdu[PACKET_INDEX_TYPE];
     67          
     68             switch (packetType){
   \   000005   EA           MOV     A,R2
   \   000006   241A         ADD     A,#0x1a
   \   000008   F582         MOV     DPL,A
   \   00000A   EB           MOV     A,R3
   \   00000B   3400         ADDC    A,#0x0
   \   00000D   F583         MOV     DPH,A
   \   00000F   E0           MOVX    A,@DPTR
   \   000010   12....       LCALL   ?UC_SWITCH_SPARSE
   \                     `?<Jumptable for NodeDataIndication>_0`:
   \   000013   01           DB        1
   \   000014   11           DB        17
   \   000015   12           DB        18
   \   000016   ....         DW        ??NodeDataIndication_0
   \   000018   02           DB        2
   \   000019   20           DB        32
   \   00001A   ....         DW        ??NodeDataIndication_1
   \   00001C   22           DB        34
   \   00001D   ....         DW        ??NodeDataIndication_2
   \   00001F   ....         DW        ??NodeDataIndication_3
     69             case PACKET_TYPE_SETUP_PARAMETER:
     70                if (nodeType == REF_NODE){
   \                     ??NodeDataIndication_1:
   \   000021   EA           MOV     A,R2
   \   000022   241B         ADD     A,#0x1b
   \   000024   FA           MOV     R2,A
   \   000025   EB           MOV     A,R3
   \   000026   3400         ADDC    A,#0x0
   \   000028   FB           MOV     R3,A
   \   000029   90....       MOV     DPTR,#nodeType
   \   00002C   E0           MOVX    A,@DPTR
   \   00002D   700A         JNZ     ??NodeDataIndication_4
     71                   SetupRefNode(&pMDI->pMsdu[PACKET_INDEX_NBR_OF_CONFIG_DATA]);
   \   00002F                ; Setup parameters for call to function SetupRefNode
   \   00002F   90....       MOV     DPTR,#(SetupRefNode & 0xffff)
   \   000032   74..         MOV     A,#((SetupRefNode >> 16) & 0xff)
   \                     ??NodeDataIndication_5:
   \   000034   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000037   8040         SJMP    ??NodeDataIndication_3
     72                }
     73                else{
     74                   SetupBlindNode(&pMDI->pMsdu[PACKET_INDEX_NBR_OF_CONFIG_DATA]);
   \                     ??NodeDataIndication_4:
   \   000039                ; Setup parameters for call to function SetupBlindNode
   \   000039   90....       MOV     DPTR,#(SetupBlindNode & 0xffff)
   \   00003C   74..         MOV     A,#((SetupBlindNode >> 16) & 0xff)
   \   00003E   80F4         SJMP    ??NodeDataIndication_5
     75                }
     76                break;
     77             case PACKET_TYPE_BLINK_LED:
     78                blinkLed = TRUE;
   \                     ??NodeDataIndication_2:
   \   000040   7401         MOV     A,#0x1
   \   000042   90....       MOV     DPTR,#blinkLed
   \   000045   8031         SJMP    ??NodeDataIndication_6
     79                break;
     80             // case PACKET_TYPE_BLIND_NODE_POSITION:
     81             case PACKET_TYPE_BLIND_NODE_REQ_SIGNAL: /* only sent to ref node   */
     82             case PACKET_TYPE_REF_NODE_POSITION:     /* only sent to blind node */
     83                if(BUFFER_EMPTY()){
   \                     ??NodeDataIndication_0:
   \   000047   90....       MOV     DPTR,#buffer
   \   00004A   E0           MOVX    A,@DPTR
   \   00004B   702C         JNZ     ??NodeDataIndication_3
     84                   msgReceived = TRUE;
   \   00004D   7401         MOV     A,#0x1
   \   00004F   90....       MOV     DPTR,#msgReceived
   \   000052   F0           MOVX    @DPTR,A
     85                   memcpy(&buffer.b, pMDI, sizeof(MCPS_DATA_INDICATION));
   \   000053                ; Setup parameters for call to function memcpy
   \   000053   75..90       MOV     ?V0 + 0,#-0x70
   \   000056   75..00       MOV     ?V0 + 1,#0x0
   \   000059   78..         MOV     R0,#?V0 + 0
   \   00005B   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   00005E   EA           MOV     A,R2

⌨️ 快捷键说明

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