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

📄 zdobject.lst

📁 CC2430上开关控制灯和温度传感器采集两个例子
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   000000   FA           MOV     R2,A
   \   000001   A3           INC     DPTR
   \   000002   E0           MOVX    A,@DPTR
   \   000003   FB           MOV     R3,A
   \   000004   22           RET
    374          
    375          /*********************************************************************
    376           * @fn      ZDO_UpdateNwkStatus()
    377           *
    378           * @brief
    379           *
    380           *   This function will send an update message to each registered
    381           *   application endpoint/interface about a network status change.
    382           *
    383           * @param   none
    384           *
    385           * @return  none
    386           */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    387          void ZDO_UpdateNwkStatus( devStates_t state )
   \                     ZDO_UpdateNwkStatus:
    388          {
   \   000000   74F4         MOV     A,#-0xc
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 12
   \   000005                ; Auto size: 0
   \   000005   89..         MOV     ?V0 + 0,R1
    389            // Endpoint/Interface descriptor list.
    390            epList_t *epDesc = epList;
   \   000007   90....       MOV     DPTR,#epList
   \   00000A   12....       LCALL   ?Subroutine56 & 0xFFFF
    391            byte bufLen = sizeof(osal_event_hdr_t);
    392            osal_event_hdr_t *msgPtr;
    393          
    394            ZDAppNwkAddr.addr.shortAddr = NLME_GetShortAddr();
   \                     ??CrossCallReturnLabel_176:
   \   00000D                ; Setup parameters for call to function NLME_GetShortAddr
   \   00000D   90....       MOV     DPTR,#(NLME_GetShortAddr & 0xffff)
   \   000010   74..         MOV     A,#((NLME_GetShortAddr >> 16) & 0xff)
   \   000012   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000015   90....       MOV     DPTR,#ZDAppNwkAddr
   \   000018   12....       LCALL   ?Subroutine10 & 0xFFFF
    395            (void)NLME_GetExtAddr();  // Load the saveExtAddr pointer.
   \                     ??CrossCallReturnLabel_24:
   \   00001B                ; Setup parameters for call to function NLME_GetExtAddr
   \   00001B   90....       MOV     DPTR,#(NLME_GetExtAddr & 0xffff)
   \   00001E   74..         MOV     A,#((NLME_GetExtAddr >> 16) & 0xff)
   \   000020   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000023   803D         SJMP    ??CrossCallReturnLabel_177
    396          
    397            while ( epDesc )
    398            {
    399              if ( epDesc->epDesc->endPoint != ZDO_EP )
   \                     ??ZDO_UpdateNwkStatus_0:
   \   000025   8E82         MOV     DPL,R6
   \   000027   8F83         MOV     DPH,R7
   \   000029   12....       LCALL   ?Subroutine38 & 0xFFFF
   \                     ??CrossCallReturnLabel_115:
   \   00002C   6025         JZ      ??ZDO_UpdateNwkStatus_1
    400              {
    401                msgPtr = (osal_event_hdr_t *)osal_msg_allocate( bufLen );
   \   00002E                ; Setup parameters for call to function osal_msg_allocate
   \   00002E   7A02         MOV     R2,#0x2
   \   000030   7B00         MOV     R3,#0x0
   \   000032   90....       MOV     DPTR,#(osal_msg_allocate & 0xffff)
   \   000035   74..         MOV     A,#((osal_msg_allocate >> 16) & 0xff)
   \   000037   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    402                if ( msgPtr )
   \   00003A   EA           MOV     A,R2
   \   00003B   7001         JNZ     ??ZDO_UpdateNwkStatus_2
   \   00003D   EB           MOV     A,R3
   \                     ??ZDO_UpdateNwkStatus_2:
   \   00003E   6013         JZ      ??ZDO_UpdateNwkStatus_1
    403                {
    404                  msgPtr->event = ZDO_STATE_CHANGE; // Command ID
   \   000040   74D1         MOV     A,#-0x2f
   \   000042   8A82         MOV     DPL,R2
   \   000044   8B83         MOV     DPH,R3
   \   000046   F0           MOVX    @DPTR,A
    405                  msgPtr->status = (byte)state;
   \   000047   A3           INC     DPTR
   \   000048   E5..         MOV     A,?V0 + 0
   \   00004A   12....       LCALL   ?Subroutine6 & 0xFFFF
    406          
    407                  osal_msg_send( *(epDesc->epDesc->task_id), (byte *)msgPtr );
   \                     ??CrossCallReturnLabel_14:
   \   00004D   12....       LCALL   ?Subroutine24 & 0xFFFF
   \                     ??CrossCallReturnLabel_87:
   \   000050   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    408                }
    409              }
    410              epDesc = epDesc->nextDesc;
   \                     ??ZDO_UpdateNwkStatus_1:
   \   000053   8E82         MOV     DPL,R6
   \   000055   8F83         MOV     DPH,R7
   \   000057   A3           INC     DPTR
   \   000058   A3           INC     DPTR
   \   000059   A3           INC     DPTR
   \   00005A   A3           INC     DPTR
   \   00005B   A3           INC     DPTR
   \   00005C   A3           INC     DPTR
   \   00005D   A3           INC     DPTR
   \   00005E   A3           INC     DPTR
   \   00005F   12....       LCALL   ?Subroutine56 & 0xFFFF
    411            }
   \                     ??CrossCallReturnLabel_177:
   \   000062   EE           MOV     A,R6
   \   000063   7001         JNZ     ??ZDO_UpdateNwkStatus_3
   \   000065   EF           MOV     A,R7
   \                     ??ZDO_UpdateNwkStatus_3:
   \   000066   70BD         JNZ     ??ZDO_UpdateNwkStatus_0
    412          }
   \   000068   02....       LJMP    ??Subroutine96_0 & 0xFFFF

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine56:
   \   000000   E0           MOVX    A,@DPTR
   \   000001   FE           MOV     R6,A
   \   000002   A3           INC     DPTR
   \   000003   E0           MOVX    A,@DPTR
   \   000004   FF           MOV     R7,A
   \   000005   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine6:
   \   000000   F0           MOVX    @DPTR,A
   \   000001                ; Setup parameters for call to function osal_msg_send
   \   000001   8E82         MOV     DPL,R6
   \   000003   8F83         MOV     DPH,R7
   \   000005   E0           MOVX    A,@DPTR
   \   000006   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine78:
   \   000000   E0           MOVX    A,@DPTR
   \                     ??Subroutine78_0:
   \   000001   F8           MOV     R0,A
   \                     ??Subroutine78_1:
   \   000002   12....       LCALL   ??Subroutine91_0 & 0xFFFF
   \                     ??CrossCallReturnLabel_289:
   \   000005   A3           INC     DPTR
   \   000006   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine38:
   \   000000   12....       LCALL   ?Subroutine73 & 0xFFFF
   \                     ??CrossCallReturnLabel_233:
   \   000003   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine73:
   \   000000   12....       LCALL   ?Subroutine91 & 0xFFFF
   \                     ??CrossCallReturnLabel_287:
   \   000003   E0           MOVX    A,@DPTR
   \   000004   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine24:
   \   000000   12....       LCALL   ??Subroutine78_0 & 0xFFFF
   \                     ??CrossCallReturnLabel_241:
   \   000003   12....       LCALL   ?Subroutine73 & 0xFFFF
   \                     ??CrossCallReturnLabel_231:
   \   000006   F9           MOV     R1,A
   \   000007   90....       MOV     DPTR,#(osal_msg_send & 0xffff)
   \   00000A   74..         MOV     A,#((osal_msg_send >> 16) & 0xff)
   \   00000C   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine10:
   \   000000   EA           MOV     A,R2
   \   000001   F0           MOVX    @DPTR,A
   \   000002   A3           INC     DPTR
   \   000003   EB           MOV     A,R3
   \   000004   F0           MOVX    @DPTR,A
   \   000005   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine91:
   \   000000   E0           MOVX    A,@DPTR
   \   000001   F8           MOV     R0,A
   \                     ??Subroutine91_0:
   \   000002   A3           INC     DPTR
   \   000003   E0           MOVX    A,@DPTR
   \   000004   F583         MOV     DPH,A
   \   000006   8882         MOV     DPL,R0
   \   000008   22           RET
    413          
    414          #if defined ( REFLECTOR )
    415          /*********************************************************************
    416           * @fn          ZDO_RemoveEndDeviceBind
    417           *
    418           * @brief       Remove the end device bind
    419           *
    420           * @param  none
    421           *
    422           * @return      none
    423           */
    424          static void ZDO_RemoveEndDeviceBind( void )
    425          {
    426            if ( ZDO_EDBind )
    427            {
    428              // Free the RAM
    429              if ( ZDO_EDBind->inClusters )
    430                osal_mem_free( ZDO_EDBind->inClusters );
    431              if ( ZDO_EDBind->outClusters )
    432                osal_mem_free( ZDO_EDBind->outClusters );
    433              osal_mem_free( ZDO_EDBind );
    434              ZDO_EDBind = NULL;
    435            }
    436          }
    437          #endif // REFLECTOR
    438          
    439          #if defined ( REFLECTOR )
    440          /*********************************************************************
    441           * @fn          ZDO_RemoveEndDeviceBind
    442           *
    443           * @brief       Remove the end device bind
    444           *
    445           * @param  none
    446           *
    447           * @return      none
    448           */
    449          static void ZDO_SendEDBindRsp( byte TransSeq, zAddrType_t *dstAddr, byte Status, byte secUse )
    450          {
    451            ZDP_EndDeviceBindRsp( TransSeq, dstAddr, Status, secUse );
    452          
    453          #if defined( LCD_SUPPORTED )
    454            HalLcdWriteString( "End Device Bind", HAL_LCD_LINE_1 );
    455            if ( Status == ZDP_SUCCESS )
    456              HalLcdWriteString( "Success Sent", HAL_LCD_LINE_2 );
    457            else
    458              HalLcdWriteString( "Timeout", HAL_LCD_LINE_2 );
    459          #endif
    460          
    461          }
    462          #endif // REFLECTOR
    463          
    464          #if defined ( REFLECTOR ) || defined ( ZDO_COORDINATOR )
    465          /*********************************************************************
    466           * @fn          ZDO_CompareClusterLists
    467           *
    468           * @brief       Compare one list to another list
    469           *
    470           * @param       numList1 - number of items in list 1
    471           * @param       list1 - first list of cluster IDs
    472           * @param       numList2 - number of items in list 2
    473           * @param       list2 - second list of cluster IDs
    474           * @param       pMatches - buffer to put matches
    475           *
    476           * @return      number of matches
    477           */

⌨️ 快捷键说明

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