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

📄 genericapp.lst

📁 cc2430应用实例
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   000017   74..         MOV     A,#((ZDApp_SendEndDeviceBindReq >> 16) & 0xff)
   \   000019   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    343              }
    344          
    345              if ( keys & HAL_KEY_SW_3 )
    346              {
    347              }
    348          
    349              if ( keys & HAL_KEY_SW_4 )
   \                     ??GenericApp_HandleKeys_1:
   \   00001C   EE           MOV     A,R6
   \   00001D   A2E3         MOV     C,0xE0 /* A   */.3
   \   00001F   5011         JNC     ??GenericApp_HandleKeys_0
    350              {
    351                // Initiate a Match Description Request (Service Discovery)
    352                //  for the mandatory endpoint
    353                ZDApp_AutoFindDestination( GenericApp_epDesc.endPoint );
   \   000021                ; Setup parameters for call to function ZDApp_AutoFindDestinationEx
   \   000021   7A00         MOV     R2,#0x0
   \   000023   7B00         MOV     R3,#0x0
   \   000025   90....       MOV     DPTR,#GenericApp_epDesc
   \   000028   E0           MOVX    A,@DPTR
   \   000029   F9           MOV     R1,A
   \   00002A   90....       MOV     DPTR,#(ZDApp_AutoFindDestinationEx & 0xffff)
   \   00002D   74..         MOV     A,#((ZDApp_AutoFindDestinationEx >> 16) & 0xff)
   \   00002F   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    354              }
    355            }
    356          }
   \                     ??GenericApp_HandleKeys_0:
   \   000032   7F01         MOV     R7,#0x1
   \   000034   02....       LJMP    ?BANKED_LEAVE_XDATA
    357          
    358          /*********************************************************************
    359           * LOCAL FUNCTIONS
    360           */
    361          
    362          /*********************************************************************
    363           * @fn      GenericApp_MessageMSGCB
    364           *
    365           * @brief   Data message processor callback.  This function processes
    366           *          any incoming data - probably from other devices.  So, based
    367           *          on cluster ID, perform the intended action.
    368           *
    369           * @param   none
    370           *
    371           * @return  none
    372           */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    373          void GenericApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )
   \                     GenericApp_MessageMSGCB:
    374          {
   \   000000                ; Saved register size: 0
   \   000000                ; Auto size: 0
    375            switch ( pkt->clusterId )
    376            {
    377              case GENERICAPP_CLUSTERID:
    378                // "the" message
    379          #if defined( LCD_SUPPORTED )
    380                HalLcdWriteScreen( (char*)pkt->cmd.Data, "rcvd" );
    381          #elif defined( WIN32 )
    382                WPRINTSTR( pkt->cmd.Data );
    383          #endif
    384                break;
    385            }
    386          }
   \   000000   02....       LJMP    ?BRET
    387          
    388          /*********************************************************************
    389           * @fn      GenericApp_SendTheMessage
    390           *
    391           * @brief   Send "the" message.
    392           *
    393           * @param   none
    394           *
    395           * @return  none
    396           */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    397          void GenericApp_SendTheMessage( void )
   \                     GenericApp_SendTheMessage:
    398          {
   \   000000   74F6         MOV     A,#-0xa
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 10
   \   000005                ; Auto size: 12
   \   000005   74F4         MOV     A,#-0xc
   \   000007   12....       LCALL   ?ALLOC_XSTACK8
    399            char theMessageData[] = "Hello World";
   \   00000A   85..82       MOV     DPL,?XSP + 0
   \   00000D   85..83       MOV     DPH,?XSP + 1
   \   000010   AC82         MOV     R4,DPL
   \   000012   AD83         MOV     R5,DPH
   \   000014   7583..       MOV     DPH,#((`?<Constant "Hello World">` >> 8) & 0xff)
   \   000017   7582..       MOV     DPL,#(`?<Constant "Hello World">` & 0xff)
   \   00001A   740C         MOV     A,#0xc
   \   00001C   12....       LCALL   ?MOVE_LONG8_XDATA_XDATA
    400          
    401            if ( AF_DataRequest( &GenericApp_DstAddr, &GenericApp_epDesc,
    402                                 GENERICAPP_CLUSTERID,
    403                                 (byte)osal_strlen( theMessageData ) + 1,
    404                                 (byte *)&theMessageData,
    405                                 &GenericApp_TransID,
    406                                 AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
   \   00001F                ; Setup parameters for call to function AF_DataRequest
   \   00001F   75..0A       MOV     ?V0 + 0,#0xa
   \   000022   78..         MOV     R0,#?V0 + 0
   \   000024   12....       LCALL   ?PUSH_XSTACK_I_ONE
   \   000027   75....       MOV     ?V0 + 0,#(GenericApp_TransID & 0xff)
   \   00002A   75....       MOV     ?V0 + 1,#((GenericApp_TransID >> 8) & 0xff)
   \   00002D   78..         MOV     R0,#?V0 + 0
   \   00002F   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000032   7403         MOV     A,#0x3
   \   000034   12....       LCALL   ?XSTACK_DISP0_8
   \   000037   8582..       MOV     ?V0 + 0,DPL
   \   00003A   8583..       MOV     ?V0 + 1,DPH
   \   00003D   78..         MOV     R0,#?V0 + 0
   \   00003F   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000042                ; Setup parameters for call to function osal_strlen
   \   000042   7405         MOV     A,#0x5
   \   000044   12....       LCALL   ?XSTACK_DISP0_8
   \   000047   AA82         MOV     R2,DPL
   \   000049   AB83         MOV     R3,DPH
   \   00004B   90....       MOV     DPTR,#(osal_strlen & 0xffff)
   \   00004E   74..         MOV     A,#((osal_strlen >> 16) & 0xff)
   \   000050   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000053   EA           MOV     A,R2
   \   000054   F8           MOV     R0,A
   \   000055   7401         MOV     A,#0x1
   \   000057   28           ADD     A,R0
   \   000058   F5..         MOV     ?V0 + 0,A
   \   00005A   E4           CLR     A
   \   00005B   3400         ADDC    A,#0x0
   \   00005D   F5..         MOV     ?V0 + 1,A
   \   00005F   78..         MOV     R0,#?V0 + 0
   \   000061   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000064   75..01       MOV     ?V0 + 0,#0x1
   \   000067   75..00       MOV     ?V0 + 1,#0x0
   \   00006A   78..         MOV     R0,#?V0 + 0
   \   00006C   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   00006F   7920         MOV     R1,#0x20
   \   000071   7C..         MOV     R4,#(GenericApp_epDesc & 0xff)
   \   000073   7D..         MOV     R5,#((GenericApp_epDesc >> 8) & 0xff)
   \   000075   7A..         MOV     R2,#(GenericApp_DstAddr & 0xff)
   \   000077   7B..         MOV     R3,#((GenericApp_DstAddr >> 8) & 0xff)
   \   000079   90....       MOV     DPTR,#(AF_DataRequest & 0xffff)
   \   00007C   74..         MOV     A,#((AF_DataRequest >> 16) & 0xff)
   \   00007E   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000081   7409         MOV     A,#0x9
   \   000083   12....       LCALL   ?DEALLOC_XSTACK8
    407            {
    408              // Successfully requested to be sent.
    409            }
    410            else
    411            {
    412              // Error occurred in request to send.
    413            }
    414          }
   \   000086   740C         MOV     A,#0xc
   \   000088   12....       LCALL   ?DEALLOC_XSTACK8
   \   00008B   7F02         MOV     R7,#0x2
   \   00008D   02....       LJMP    ?BANKED_LEAVE_XDATA

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for <Constant "Hello World">>`:
   \   000000   48656C6C     DB "Hello World"
   \            6F20576F
   \            726C6400

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

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for GenericApp_SimpleDesc>`:
   \   000000   0A           DB 10
   \   000001   040F0100     DW 3844, 1
   \   000005   0001         DB 0, 1
   \   000007   ....         DW GenericApp_ClusterList
   \   000009   01           DB 1
   \   00000A   ....         DW GenericApp_ClusterList

   \                                 In segment XDATA_I, align 1, keep-with-next
   \                     `?<Constant "Hello World">`:
   \   000000                DS 12
   \   00000C                REQUIRE `?<Initializer for <Constant "Hello World">>`
   \   00000C                REQUIRE __INIT_XDATA_I
    415          
    416          /*********************************************************************
    417          *********************************************************************/

   Maximum stack usage in bytes:

     Function                       ISTACK PSTACK XSTACK
     --------                       ------ ------ ------
     GenericApp_HandleKeys              0      0     21
       -> ZDApp_SendEndDeviceBindReq
                                        0      0     18
       -> ZDApp_AutoFindDestinationEx
                                        0      0     18
     GenericApp_Init                    2      0      0
       -> afRegister                    4      0      0
       -> RegisterForKeys               4      0      0
     GenericApp_MessageMSGCB            0      0      0
     GenericApp_ProcessEvent            0      0     12
       -> osal_msg_receive              0      0     24
       -> osal_start_timer              0      0     24
       -> osal_msg_deallocate           0      0     24
       -> osal_msg_receive              0      0     24
       -> GenericApp_HandleKeys         0      0     24
       -> GenericApp_SendTheMessage     0      0     24
       -> osal_start_timer              0      0     24
     GenericApp_SendTheMessage          2      0     43
       -> osal_strlen                   0      0     54
       -> AF_DataRequest                0      0     62


   Segment part sizes:

     Function/Label                 Bytes
     --------------                 -----
     GenericApp_ClusterList            2
     GenericApp_SimpleDesc            12
     GenericApp_epDesc                 6
     GenericApp_TaskID                 1
     GenericApp_NwkState               1
     GenericApp_TransID                1
     GenericApp_DstAddr                4
     GenericApp_Init                  97
     GenericApp_ProcessEvent         269
     GenericApp_HandleKeys            55
     GenericApp_MessageMSGCB           3
     GenericApp_SendTheMessage       144
     ?<Initializer for <Constant "Hello World">>
                                      12
     ?<Initializer for GenericApp_ClusterList>
                                       2
     ?<Initializer for GenericApp_SimpleDesc>
                                      12
     ?<Constant "Hello World">        12

 
 568 bytes in segment BANKED_CODE
  26 bytes in segment XDATA_I
  26 bytes in segment XDATA_ID
  13 bytes in segment XDATA_Z
 
 594 bytes of CODE  memory
  39 bytes of XDATA memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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