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

📄 sampleapp.lst

📁 CC2431无线定位程序非常有参考价值
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   000006   90....       MOV     DPTR,#??rejoinPending
   \   000009   F0           MOVX    @DPTR,A
    325            ZDApp_SendEventMsg( ZDO_NWK_JOIN_REQ, 0, NULL );
   \   00000A                ; Setup parameters for call to function ZDApp_SendEventMsg
   \   00000A   7C00         MOV     R4,#0x0
   \   00000C   7D00         MOV     R5,#0x0
   \   00000E   7A00         MOV     R2,#0x0
   \   000010   7903         MOV     R1,#0x3
   \   000012   90....       MOV     DPTR,#(ZDApp_SendEventMsg & 0xffff)
   \   000015   74..         MOV     A,#((ZDApp_SendEventMsg >> 16) & 0xff)
   \   000017   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    326          
    327            SampleApp_Sleep( FALSE );
   \   00001A                ; Setup parameters for call to function SampleApp_Sleep
   \   00001A   7900         MOV     R1,#0x0
   \   00001C   90....       MOV     DPTR,#(SampleApp_Sleep & 0xffff)
   \   00001F   74..         MOV     A,#((SampleApp_Sleep >> 16) & 0xff)
   \   000021   02....       LJMP    ?Subroutine0 & 0xFFFF
    328          #endif
    329          }
    330          
    331          /*********************************************************************
    332           * @fn      SampleApp_Sleep
    333           *
    334           * @brief   Sample Application set allow/disallow sleep mode.
    335           *
    336           * @return  none
    337           */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    338          void SampleApp_Sleep( uint8 allow )
   \                     SampleApp_Sleep:
    339          {
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 0
    340          #if defined( POWER_SAVING )
    341            if ( allow )
   \   000004   E9           MOV     A,R1
   \   000005   6015         JZ      ??SampleApp_Sleep_0
    342            {
    343              osal_pwrmgr_task_state( NWK_TaskID, PWRMGR_CONSERVE );
   \   000007                ; Setup parameters for call to function osal_pwrmgr_task_state
   \   000007   7A00         MOV     R2,#0x0
   \   000009   90....       MOV     DPTR,#NWK_TaskID
   \   00000C   E0           MOVX    A,@DPTR
   \   00000D   F9           MOV     R1,A
   \   00000E   90....       MOV     DPTR,#(osal_pwrmgr_task_state & 0xffff)
   \   000011   74..         MOV     A,#((osal_pwrmgr_task_state >> 16) & 0xff)
   \   000013   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    344              NLME_SetPollRate( 0 );
   \   000016                ; Setup parameters for call to function NLME_SetPollRate
   \   000016   7A00         MOV     R2,#0x0
   \   000018   7B00         MOV     R3,#0x0
   \   00001A   8013         SJMP    ??SampleApp_Sleep_1
    345            }
    346            else
    347            {
    348              osal_pwrmgr_task_state( NWK_TaskID, PWRMGR_HOLD );
   \                     ??SampleApp_Sleep_0:
   \   00001C                ; Setup parameters for call to function osal_pwrmgr_task_state
   \   00001C   7A01         MOV     R2,#0x1
   \   00001E   90....       MOV     DPTR,#NWK_TaskID
   \   000021   E0           MOVX    A,@DPTR
   \   000022   F9           MOV     R1,A
   \   000023   90....       MOV     DPTR,#(osal_pwrmgr_task_state & 0xffff)
   \   000026   74..         MOV     A,#((osal_pwrmgr_task_state >> 16) & 0xff)
   \   000028   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    349              NLME_SetPollRate( 1000 );
   \   00002B                ; Setup parameters for call to function NLME_SetPollRate
   \   00002B   7AE8         MOV     R2,#-0x18
   \   00002D   7B03         MOV     R3,#0x3
   \                     ??SampleApp_Sleep_1:
   \   00002F   90....       MOV     DPTR,#(NLME_SetPollRate & 0xffff)
   \   000032   74..         MOV     A,#((NLME_SetPollRate >> 16) & 0xff)
   \   000034   02....       LJMP    ?Subroutine0 & 0xFFFF
    350            }
    351          #endif
    352          }
    353          
    354          /*********************************************************************
    355           * @fn      handleKeys
    356           *
    357           * @brief   Handles all key events for this device.
    358           *
    359           * @param   shift - true if in shift/alt.
    360           * @param   keys - bit field for key events. Valid entries:
    361           *
    362           * @return  none
    363           */
    364          static void handleKeys( uint8 shift, uint8 keys )
    365          {
    366          /* POWER_SAVING key press interrupt uses shift key to awaken from deep sleep,
    367           * so it is not available.
    368           */
    369          #if !defined( POWER_SAVING )
    370            /* Give the LocationProfile access to 4 keys by sending any Shif-Key
    371             * sequence to the profile as a normal Key.
    372             */
    373            if ( shift )
    374            {
    375              LocationHandleKeys( keys );
    376            }
    377            else
    378          #endif
    379            {
    380              if ( keys & HAL_KEY_SW_1 )
    381              {
    382              }
    383          
    384              if ( keys & HAL_KEY_SW_2 )
    385              {
    386              }
    387          
    388              if ( keys & HAL_KEY_SW_3 )
    389              {
    390              }
    391          
    392              if ( keys & HAL_KEY_SW_4 )
    393              {
    394              }
    395            }
    396          
    397          #if defined ( LOCATION_BLINDNODE )
    398            {

   \                                 In segment XDATA_Z, align 1, keep-with-next
   \   000000                REQUIRE __INIT_XDATA_Z
    399              static uint8 transId;
   \                     ??transId:
   \   000000                DS 1

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for SampleApp_InputClusterList>`:
   \   000000   0100         DW 1

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for SampleApp_OutputClusterList>`:
   \   000000   01001000     DW 1, 16

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for SampleApp_SimpleDesc>`:
   \   000000   0A           DB 10
   \   000001   01200D00     DW 8193, 13
   \   000005   0F02         DB 15, 2
   \   000007   ....         DW ??SampleApp_InputClusterList
   \   000009   04           DB 4
   \   00000A   ....         DW ??SampleApp_OutputClusterList

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for SampleApp_epDesc>`:
   \   000000   0A           DB 10
   \   000001   ........     DW SampleApp_TaskID, ??SampleApp_SimpleDesc
   \   000005   00           DB 0
    400          
    401              uint8 actionId = SAMPLE_APP_TOGGLE;
    402              afAddrType_t dstAddr;
    403          
    404              dstAddr.addrMode = afAddrBroadcast;
    405              dstAddr.addr.shortAddr = NWK_BROADCAST_SHORTADDR_DEVALL;
    406              dstAddr.endPoint = SAMPLE_APP_ENDPOINT;
    407          
    408              // Control all lights within 1-hop radio range.
    409              (void)AF_DataRequest( &dstAddr, (endPointDesc_t *)&SampleApp_epDesc,
    410                                     SAMPLE_APP_ON_OFF_ID, 1, &actionId,
    411                                    &transId, AF_SKIP_ROUTING, 1 );
    412          
    413              BlindNode_FindRequest();
    414            }
    415          #endif
    416          }
    417          
    418          /*********************************************************************
    419           * @fn      processMSGCmd
    420           *
    421           * @brief   Data message processor callback.
    422           *
    423           * @param   none
    424           *
    425           * @return  none
    426           */
    427          static void processMSGCmd( afIncomingMSGPacket_t *pkt )
    428          {
    429            switch ( pkt->clusterId )
    430            {
    431            case SAMPLE_APP_ON_OFF_ID:
    432              switch ( pkt->cmd.Data[0] )
    433              {
    434              case SAMPLE_APP_OFF:
    435                HalLedSet( HAL_LED_3, HAL_LED_MODE_OFF );
    436                break;
    437          
    438              case SAMPLE_APP_TOGGLE:
    439                HalLedSet( HAL_LED_3, HAL_LED_MODE_TOGGLE );
    440                break;
    441          
    442              case SAMPLE_APP_ON:
    443                HalLedSet( HAL_LED_3, HAL_LED_MODE_ON );
    444                break;
    445              }
    446              break;
    447          
    448            default:
    449              break;
    450            }
    451          }
    452          
    453          /*********************************************************************
    454          *********************************************************************/

   Maximum stack usage in bytes:

     Function                    ISTACK PSTACK XSTACK
     --------                    ------ ------ ------
     SampleApp_Init                  2      0      0
       -> afRegister                 4      0      0
       -> RegisterForKeys            4      0      0
     SampleApp_NoACK                 2      0     17
       -> ZDApp_SendEventMsg         4      0      0
       -> SampleApp_Sleep            4      0      0
     SampleApp_ProcessEvent          1      0     26
       -> osal_msg_receive           0      0     34
       -> SampleApp_Sleep            0      0     34
       -> osal_msg_deallocate        0      0     34
       -> osal_msg_receive           0      0     34
       -> AF_DataRequest             0      0     52
       -> BlindNode_FindRequest      0      0     34
       -> SampleApp_NoACK            0      0     34
       -> HalLedSet                  0      0     34
       -> HalLedSet                  0      0     34
       -> HalLedSet                  0      0     34
     SampleApp_Sleep                 4      0     17
       -> osal_pwrmgr_task_state     4      0      0
       -> NLME_SetPollRate           4      0      0
       -> osal_pwrmgr_task_state     4      0      0
       -> NLME_SetPollRate           4      0      0
     osalAddTasks                    0      0     14
       -> osalTaskAdd                0      0     28
       -> osalTaskAdd                0      0     28
       -> osalTaskAdd                0      0     28
       -> osalTaskAdd                0      0     28
       -> osalTaskAdd                0      0     28
       -> osalTaskAdd                0      0     28
       -> osalTaskAdd                0      0     28


   Segment part sizes:

     Function/Label                 Bytes
     --------------                 -----
     SampleApp_TaskID                  1
     SampleApp_InputClusterList        2
     SampleApp_OutputClusterList       4
     SampleApp_SimpleDesc             12
     SampleApp_epDesc                  6
     rejoinPending                     1
     osalAddTasks                    255
     SampleApp_Init                   31
     ?Subroutine0                     10
     SampleApp_ProcessEvent          365
     SampleApp_NoACK                  36
     SampleApp_Sleep                  55
     transId                           1
     ?<Initializer for SampleApp_InputClusterList>
                                       2
     ?<Initializer for SampleApp_OutputClusterList>
                                       4
     ?<Initializer for SampleApp_SimpleDesc>
                                      12
     ?<Initializer for SampleApp_epDesc>
                                       6

 
 752 bytes in segment BANKED_CODE
  24 bytes in segment XDATA_I
  24 bytes in segment XDATA_ID
   3 bytes in segment XDATA_Z
 
 776 bytes of CODE  memory
  27 bytes of XDATA memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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