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

📄 zdprofile.lst

📁 cc2430应用实例
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   00006A   90....       MOV     DPTR,#??ZDP_TxOptions
   \   00006D   F0           MOVX    @DPTR,A
   \   00006E   7F06         MOV     R7,#0x6
   \   000070   02....       LJMP    ?BANKED_LEAVE_XDATA
    174          }

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine13:
   \   000000   E0           MOVX    A,@DPTR
   \   000001   F5..         MOV     ?V0 + 0,A
   \   000003   A3           INC     DPTR
   \   000004   E0           MOVX    A,@DPTR
   \   000005   F5..         MOV     ?V0 + 1,A
   \   000007   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine43:
   \   000000   8E82         MOV     DPL,R6
   \   000002   8F83         MOV     DPH,R7
   \   000004   A3           INC     DPTR
   \   000005   22           RET

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine14:
   \   000000   8E82         MOV     DPL,R6
   \   000002   8F83         MOV     DPH,R7
   \   000004   E0           MOVX    A,@DPTR
   \   000005   8882         MOV     DPL,R0
   \   000007   8983         MOV     DPH,R1
   \   000009   F0           MOVX    @DPTR,A
   \   00000A   02....       LJMP    ?Subroutine43 & 0xFFFF

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine33:
   \   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
   \                     ?Subroutine18:
   \   000000   90....       MOV     DPTR,#??ZDP_TmpBuf
   \                     ??Subroutine18_0:
   \   000003   E0           MOVX    A,@DPTR
   \   000004   F8           MOV     R0,A
   \   000005   A3           INC     DPTR
   \   000006   E0           MOVX    A,@DPTR
   \   000007   F9           MOV     R1,A
   \   000008   22           RET
    175          
    176          #if defined ( ZDO_NODEDESC_REQUEST ) || defined ( ZDO_POWERDESC_REQUEST ) ||\
    177              defined ( ZDO_ACTIVEEP_REQUEST ) || defined ( ZDO_COMPLEXDESC_REQUEST ) ||\
    178              defined ( ZDO_USERDESC_REQUEST )
    179          /*********************************************************************
    180           * @fn          ZDP_NWKAddrOfInterestReq
    181           *
    182           * @brief       This builds and send a request message that has
    183           *              NWKAddrOfInterest as its only parameter.
    184           *
    185           * @param       dstAddr - destination address
    186           * @param       nwkAddr - 16 bit address
    187           * @param       SecurityEnable - Security Options
    188           *
    189           * @return      afStatus_t
    190           */
    191          afStatus_t ZDP_NWKAddrOfInterestReq( zAddrType_t *dstAddr, uint16 nwkAddr,
    192                                               byte cmd, byte SecurityEnable )
    193          {
    194            ZDP_TmpBuf[0] = LO_UINT16( nwkAddr );
    195            ZDP_TmpBuf[1] = HI_UINT16( nwkAddr );
    196          
    197            return fillAndSend( &ZDP_TransID, dstAddr, cmd, 2 );
    198          }
    199          #endif // ZDO_NODEDESC_REQUEST ZDO_POWERDESC_REQUEST ZDO_ACTIVEEP_REQUEST ZDO_COMPLEXDESC_REQUEST  ZDO_USERDESC_REQUEST
    200          
    201          /*********************************************************************
    202           * Address Requests
    203           */
    204          
    205          #if defined ( ZDO_NWKADDR_REQUEST )
    206          /*********************************************************************
    207           * @fn          ZDP_NwkAddrReq
    208           *
    209           * @brief       This builds and send a NWK_addr_req message.  This
    210           *              function sends a broadcast message looking for a 16
    211           *              bit address with a 64 bit address as bait.
    212           *
    213           * @param       IEEEAddress - looking for this device
    214           * @param       SecurityEnable - Security Options
    215           *
    216           * @return      afStatus_t
    217           */
    218          afStatus_t ZDP_NwkAddrReq( byte *IEEEAddress, byte ReqType,
    219                                     byte StartIndex, byte SecurityEnable )
    220          {
    221            byte *pBuf = ZDP_TmpBuf;
    222            byte len = Z_EXTADDR_LEN + 1 + 1;  // IEEEAddress + ReqType + StartIndex.
    223            zAddrType_t dstAddr;
    224          
    225            if ( osal_ExtAddrEqual( saveExtAddr, IEEEAddress ) == FALSE )
    226            {
    227              dstAddr.addrMode = AddrBroadcast;
    228              dstAddr.addr.shortAddr = NWK_BROADCAST_SHORTADDR;
    229            }
    230            else
    231            {
    232              dstAddr.addrMode = Addr16Bit;
    233              dstAddr.addr.shortAddr = ZDAppNwkAddr.addr.shortAddr;
    234            }
    235          
    236            pBuf = osal_cpyExtAddr( pBuf, IEEEAddress );
    237          
    238            *pBuf++ = ReqType;
    239            *pBuf++ = StartIndex;
    240          
    241            return fillAndSend( &ZDP_TransID, &dstAddr, NWK_addr_req, len );
    242          }
    243          #endif
    244          
    245          #if defined ( ZDO_IEEEADDR_REQUEST )
    246          /*********************************************************************
    247           * @fn          ZDP_IEEEAddrReq
    248           *
    249           * @brief       This builds and send a IEEE_addr_req message.  This
    250           *              function sends a unicast message looking for a 64
    251           *              bit IEEE address with a 16 bit address as bait.
    252           *
    253           * @param       ReqType - ZDP_IEEEADDR_REQTYPE_SINGLE or
    254           *                        ZDP_IEEEADDR_REQTYPE_EXTENDED
    255           * @param       SecurityEnable - Security Options
    256           *
    257           * @return      afStatus_t
    258           */
    259          afStatus_t ZDP_IEEEAddrReq( uint16 shortAddr, byte ReqType,
    260                                      byte StartIndex, byte SecurityEnable )
    261          {
    262            byte *pBuf = ZDP_TmpBuf;
    263            byte len = 2 + 1 + 1;  // shortAddr + ReqType + StartIndex.
    264            zAddrType_t dstAddr;
    265          
    266            dstAddr.addrMode = (afAddrMode_t)Addr16Bit;
    267            dstAddr.addr.shortAddr = shortAddr;
    268          
    269            *pBuf++ = LO_UINT16( shortAddr );
    270            *pBuf++ = HI_UINT16( shortAddr );
    271          
    272            *pBuf++ = ReqType;
    273            *pBuf++ = StartIndex;
    274          
    275            return fillAndSend( &ZDP_TransID, &dstAddr, IEEE_addr_req, len );
    276          }
    277          #endif
    278          
    279          #if defined ( ZDO_MATCH_REQUEST )
    280          /*********************************************************************
    281           * @fn          ZDP_MatchDescReq
    282           *
    283           * @brief       This builds and send a Match_Desc_req message.  This
    284           *              function sends a broadcast or unicast message
    285           *              requesting the list of endpoint/interfaces that
    286           *              match profile ID and cluster IDs.
    287           *
    288           * @param       dstAddr - destination address
    289           * @param       ProfileID - Profile ID
    290           * @param       NumInClusters - number of input clusters
    291           * @param       InClusterList - input cluster ID list
    292           * @param       NumOutClusters - number of output clusters
    293           * @param       OutClusterList - output cluster ID list
    294           * @param       SecurityEnable - Security Options
    295           *
    296           * @return      afStatus_t
    297           */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    298          afStatus_t ZDP_MatchDescReq( zAddrType_t *dstAddr, uint16 nwkAddr,
   \                     ZDP_MatchDescReq:
    299                                          uint16 ProfileID,
    300                                          byte NumInClusters, cId_t *InClusterList,
    301                                          byte NumOutClusters, cId_t *OutClusterList,
    302                                          byte SecurityEnable )
    303          {
   \   000000   74F0         MOV     A,#-0x10
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 16
   \   000005                ; Auto size: 2
   \   000005   74FE         MOV     A,#-0x2
   \   000007   12....       LCALL   ?ALLOC_XSTACK8
   \   00000A   85..82       MOV     DPL,?XSP + 0
   \   00000D   85..83       MOV     DPH,?XSP + 1
   \   000010   EA           MOV     A,R2
   \   000011   F0           MOVX    @DPTR,A
   \   000012   A3           INC     DPTR
   \   000013   EB           MOV     A,R3
   \   000014   F0           MOVX    @DPTR,A
   \   000015   EC           MOV     A,R4
   \   000016   FE           MOV     R6,A
   \   000017   ED           MOV     A,R5
   \   000018   FF           MOV     R7,A
   \   000019   89..         MOV     ?V0 + 6,R1
   \   00001B   7412         MOV     A,#0x12
   \   00001D   12....       LCALL   ?XSTACK_DISP0_8
   \   000020   12....       LCALL   ?Subroutine13 & 0xFFFF
   \                     ??CrossCallReturnLabel_28:
   \   000023   7416         MOV     A,#0x16
   \   000025   12....       LCALL   ?XSTACK_DISP0_8
   \   000028   E0           MOVX    A,@DPTR
   \   000029   F5..         MOV     ?V0 + 7,A
   \   00002B   7417         MOV     A,#0x17
   \   00002D   12....       LCALL   ?XSTACK_DISP0_8
   \   000030   E0           MOVX    A,@DPTR
   \   000031   F5..         MOV     ?V0 + 4,A
   \   000033   A3           INC     DPTR
   \   000034   E0           MOVX    A,@DPTR
   \   000035   F5..         MOV     ?V0 + 5,A
    304            byte *pBuf = ZDP_TmpBuf;
   \   000037   12....       LCALL   ?Subroutine12 & 0xFFFF
    305            // nwkAddr+ProfileID+NumInClusters+NumOutClusters.
    306            byte i, len = 2 + 2 + 1 + 1;  // nwkAddr+ProfileID+NumInClusters+NumOutClusters.
    307            uint8 protoVer = NLME_GetProtocolVersion();
   \                     ??CrossCallReturnLabel_101:
   \   00003A   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   00003D   E9           MOV     A,R1
   \   00003E   FB           MOV     R3,A
    308          
    309            len += (NumInClusters + NumOutClusters)*((protoVer != ZB_PROT_V1_0) ? sizeof ( uint16 ) : sizeof( uint8 ));
   \   00003F   7401         MOV     A,#0x1
   \   000041   6B           XRL     A,R3
   \   000042   6004         JZ      ??ZDP_MatchDescReq_0
   \   000044   7802         MOV     R0,#0x2
   \   000046   8002         SJMP    ??ZDP_MatchDescReq_1
   \                     ??ZDP_MatchDescReq_0:
   \   000048   7801         MOV     R0,#0x1
   \                     ??ZDP_MatchDescReq_1:
   \   00004A   E5..         MOV     A,?V0 + 7
   \   00004C   25..         ADD     A,?V0 + 6
   \   00004E   F5F0         MOV     B,A
   \   000050   E8           MOV     A,R0
   \   000051   A4           MUL     AB
   \   000052   2406         ADD     A,#0x6
   \   000054   FA           MOV     R2,A
    310          
    311            if ( len >= ZDP_BUF_SZ-1 )
   \   000055   C3           CLR     C
   \   000056   944F         SUBB    A,#0x4f
   \   000058   4005         JC      ??ZDP_MatchDescReq_2
    312            {
    313              return afStatus_MEM_FAIL;
   \   00005A   7981         MOV     R1,#-0x7f
   \   00005C   02....       LJMP    ??ZDP_MatchDescReq_3 & 0xFFFF
    314            }
    315          

⌨️ 快捷键说明

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