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

📄 sampleapp.lst

📁 cc2430讀取短地址程式
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
    105          endPointDesc_t SampleApp_epDesc;
   \                     SampleApp_epDesc:
   \   000000                DS 6
    106          
    107          /*********************************************************************
    108           * EXTERNAL VARIABLES
    109           */
    110          
    111          /*********************************************************************
    112           * EXTERNAL FUNCTIONS
    113           */
    114          
    115          /*********************************************************************
    116           * LOCAL VARIABLES
    117           */

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
    118          uint8 SampleApp_TaskID;   // Task ID for internal task/event processing
   \                     SampleApp_TaskID:
   \   000000                DS 1
    119                                    // This variable will be received when
    120                                    // SampleApp_Init() is called.

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
    121          devStates_t SampleApp_NwkState;
   \                     SampleApp_NwkState:
   \   000000                DS 1
    122          

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
    123          uint8 SampleApp_TransID;  // This is the unique message ID (counter)
   \                     SampleApp_TransID:
   \   000000                DS 1
    124          

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
    125          afAddrType_t SampleApp_Periodic_DstAddr;
   \                     SampleApp_Periodic_DstAddr:
   \   000000                DS 4

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
    126          afAddrType_t SampleApp_Flash_DstAddr;
   \                     SampleApp_Flash_DstAddr:
   \   000000                DS 4
    127          

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
    128          aps_Group_t SampleApp_Group;
   \                     SampleApp_Group:
   \   000000                DS 18
    129          

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
    130          uint8 SampleAppPeriodicCounter = 0;
   \                     SampleAppPeriodicCounter:
   \   000000                DS 1

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
    131          uint8 SampleAppFlashCounter = 0;
   \                     SampleAppFlashCounter:
   \   000000                DS 1
    132          
    133          /*********************************************************************
    134           * LOCAL FUNCTIONS
    135           */
    136          void SampleApp_HandleKeys( uint8 shift, uint8 keys );
    137          void SampleApp_MessageMSGCB( afIncomingMSGPacket_t *pckt );
    138          void SampleApp_SendPeriodicMessage( void );
    139          void SampleApp_SendFlashMessage( uint16 flashTime );
    140          
    141          /*********************************************************************
    142           * NETWORK LAYER CALLBACKS
    143           */
    144          
    145          /*********************************************************************
    146           * PUBLIC FUNCTIONS
    147           */
    148          
    149          /*********************************************************************
    150           * @fn      SampleApp_Init
    151           *
    152           * @brief   Initialization function for the Generic App Task.
    153           *          This is called during initialization and should contain
    154           *          any application specific initialization (ie. hardware
    155           *          initialization/setup, table initialization, power up
    156           *          notificaiton ... ).
    157           *
    158           * @param   task_id - the ID assigned by OSAL.  This ID should be
    159           *                    used to send messages and set timers.
    160           *
    161           * @return  none
    162           */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    163          void SampleApp_Init( uint8 task_id )
   \                     SampleApp_Init:
    164          {
   \   000000   74F5         MOV     A,#-0xb
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 11
   \   000005                ; Auto size: 0
    165            SampleApp_TaskID = task_id;
   \   000005   E9           MOV     A,R1
   \   000006   90....       MOV     DPTR,#SampleApp_TaskID
   \   000009   F0           MOVX    @DPTR,A
    166            SampleApp_NwkState = DEV_INIT;
   \   00000A   7401         MOV     A,#0x1
   \   00000C   90....       MOV     DPTR,#SampleApp_NwkState
   \   00000F   F0           MOVX    @DPTR,A
    167            SampleApp_TransID = 0;
   \   000010   E4           CLR     A
   \   000011   90....       MOV     DPTR,#SampleApp_TransID
   \   000014   F0           MOVX    @DPTR,A
    168          
    169            // Device hardware initialization can be added here or in main() (Zmain.c).
    170            // If the hardware is application specific - add it here.
    171            // If the hardware is other parts of the device add it in main().
    172          
    173           #if defined ( SOFT_START )
    174            // The "Demo" target is setup to have SOFT_START and HOLD_AUTO_START
    175            // SOFT_START is a compile option that allows the device to start
    176            //  as a coordinator if one isn't found.
    177            // We are looking at a jumper (defined in SampleAppHw.c) to be jumpered
    178            // together - if they are - we will start up a coordinator. Otherwise,
    179            // the device will start as a router.
    180            if ( readCoordinatorJumper() )
    181              zgDeviceLogicalType = ZG_DEVICETYPE_COORDINATOR;
    182            else
    183              zgDeviceLogicalType = ZG_DEVICETYPE_ROUTER;
    184          #endif // SOFT_START
    185          
    186          #if defined ( HOLD_AUTO_START )
    187            // HOLD_AUTO_START is a compile option that will surpress ZDApp
    188            //  from starting the device and wait for the application to
    189            //  start the device.
    190            ZDOInitDevice(0);
    191          #endif
    192          
    193            // Setup for the periodic message's destination address
    194            // Broadcast to everyone
    195            SampleApp_Periodic_DstAddr.addrMode = (afAddrMode_t)AddrBroadcast;
   \   000015   740F         MOV     A,#0xf
   \   000017   90....       MOV     DPTR,#(SampleApp_Periodic_DstAddr + 2)
   \   00001A   F0           MOVX    @DPTR,A
    196            SampleApp_Periodic_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;
   \   00001B   7414         MOV     A,#0x14
   \   00001D   90....       MOV     DPTR,#(SampleApp_Periodic_DstAddr + 3)
   \   000020   F0           MOVX    @DPTR,A
    197            SampleApp_Periodic_DstAddr.addr.shortAddr = 0xFFFF;
   \   000021   90....       MOV     DPTR,#SampleApp_Periodic_DstAddr
   \   000024   74FF         MOV     A,#-0x1
   \   000026   F0           MOVX    @DPTR,A
   \   000027   A3           INC     DPTR
   \   000028   F0           MOVX    @DPTR,A
    198          
    199            // Setup for the flash command's destination address - Group 1
    200            SampleApp_Flash_DstAddr.addrMode = (afAddrMode_t)afAddrGroup;
   \   000029   7401         MOV     A,#0x1
   \   00002B   90....       MOV     DPTR,#(SampleApp_Flash_DstAddr + 2)
   \   00002E   F0           MOVX    @DPTR,A
    201            SampleApp_Flash_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;
   \   00002F   7414         MOV     A,#0x14
   \   000031   90....       MOV     DPTR,#(SampleApp_Flash_DstAddr + 3)
   \   000034   F0           MOVX    @DPTR,A
    202            SampleApp_Flash_DstAddr.addr.shortAddr = SAMPLEAPP_FLASH_GROUP;
   \   000035   90....       MOV     DPTR,#SampleApp_Flash_DstAddr
   \   000038   7401         MOV     A,#0x1
   \   00003A   F0           MOVX    @DPTR,A
   \   00003B   A3           INC     DPTR
   \   00003C   E4           CLR     A
   \   00003D   F0           MOVX    @DPTR,A
    203          
    204            // Fill out the endpoint description.
    205            SampleApp_epDesc.endPoint = SAMPLEAPP_ENDPOINT;
   \   00003E   7414         MOV     A,#0x14
   \   000040   90....       MOV     DPTR,#SampleApp_epDesc
   \   000043   F0           MOVX    @DPTR,A
    206            SampleApp_epDesc.task_id = &SampleApp_TaskID;
   \   000044   90....       MOV     DPTR,#(SampleApp_epDesc + 1)
   \   000047   74..         MOV     A,#(SampleApp_TaskID & 0xff)
   \   000049   F0           MOVX    @DPTR,A
   \   00004A   A3           INC     DPTR
   \   00004B   74..         MOV     A,#((SampleApp_TaskID >> 8) & 0xff)
   \   00004D   F0           MOVX    @DPTR,A
    207            SampleApp_epDesc.simpleDesc
    208                      = (SimpleDescriptionFormat_t *)&SampleApp_SimpleDesc;
   \   00004E   90....       MOV     DPTR,#(SampleApp_epDesc + 3)
   \   000051   74..         MOV     A,#(SampleApp_SimpleDesc & 0xff)
   \   000053   F0           MOVX    @DPTR,A
   \   000054   A3           INC     DPTR
   \   000055   74..         MOV     A,#((SampleApp_SimpleDesc >> 8) & 0xff)
   \   000057   F0           MOVX    @DPTR,A
    209            SampleApp_epDesc.latencyReq = noLatencyReqs;
   \   000058   E4           CLR     A
   \   000059   90....       MOV     DPTR,#(SampleApp_epDesc + 5)
   \   00005C   F0           MOVX    @DPTR,A
    210          
    211            // Register the endpoint description with the AF
    212            afRegister( &SampleApp_epDesc );
   \   00005D                ; Setup parameters for call to function afRegister
   \   00005D   7A..         MOV     R2,#(SampleApp_epDesc & 0xff)
   \   00005F   7B..         MOV     R3,#((SampleApp_epDesc >> 8) & 0xff)
   \   000061   90....       MOV     DPTR,#(afRegister & 0xffff)
   \   000064   74..         MOV     A,#((afRegister >> 16) & 0xff)
   \   000066   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    213          
    214            // Register for all key events - This app will handle all key events
    215            RegisterForKeys( SampleApp_TaskID );
   \   000069                ; Setup parameters for call to function RegisterForKeys
   \   000069   90....       MOV     DPTR,#SampleApp_TaskID
   \   00006C   E0           MOVX    A,@DPTR
   \   00006D   F9           MOV     R1,A
   \   00006E   90....       MOV     DPTR,#(RegisterForKeys & 0xffff)
   \   000071   74..         MOV     A,#((RegisterForKeys >> 16) & 0xff)
   \   000073   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    216          
    217            // By default, all devices start out in Group 1
    218            SampleApp_Group.ID = 0x0001;
   \   000076   90....       MOV     DPTR,#SampleApp_Group
   \   000079   7401         MOV     A,#0x1
   \   00007B   F0           MOVX    @DPTR,A
   \   00007C   A3           INC     DPTR
   \   00007D   E4           CLR     A
   \   00007E   F0           MOVX    @DPTR,A
    219            osal_memcpy( SampleApp_Group.name, "Group 1", 7  );
   \   00007F                ; Setup parameters for call to function osal_memcpy
   \   00007F   75....       MOV     ?V0 + 0,#(`?<Constant "Group 1">` & 0xff)
   \   000082   75....       MOV     ?V0 + 1,#((`?<Constant "Group 1">` >> 8) & 0xff)
   \   000085   F5..         MOV     ?V0 + 2,A
   \   000087   78..         MOV     R0,#?V0 + 0
   \   000089   12....       LCALL   ?PUSH_XSTACK_I_THREE
   \   00008C   7C07         MOV     R4,#0x7

⌨️ 快捷键说明

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