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

📄 nwk_globals.s51

📁 cc2430应用实例
💻 S51
📖 第 1 页 / 共 3 页
字号:
        MOV	DPTR,#(AddrMgrInit & 0xffff)
        MOV	A,#((AddrMgrInit >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
        CFI EndBlock cfiBlock0
//  240 
//  241 #if defined ( RTR_NWK )
//  242   // Initialize the Cskip Table
//  243   Cskip = osal_mem_alloc(sizeof(uint16) *(MAX_NODE_DEPTH+1));
//  244   RTG_FillCSkipTable(CskipChldrn, CskipRtrs, MAX_NODE_DEPTH, Cskip);
//  245 #endif
//  246 }
        REQUIRE ?Subroutine0
        ; // Fall through to label ?Subroutine0

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine0:
        CFI Block cfiBlock1 Using cfiCommon0
        CFI NoFunction
        CFI CFA_SP SP+-5
        CFI DPL0 Frame(CFA_SP, 4)
        CFI DPH0 Frame(CFA_SP, 5)
        POP	DPH
        CFI CFA_SP SP+-4
        CFI DPH0 SameValue
        POP	DPL
        CFI CFA_SP SP+-3
        CFI DPL0 SameValue
        LJMP	?BRET
        CFI EndBlock cfiBlock1
//  247 
//  248 /*********************************************************************
//  249  * @fn       NIB_init()
//  250  *
//  251  * @brief
//  252  *
//  253  *   Initialize attribute values in NIB
//  254  *
//  255  * @param   none
//  256  *
//  257  * @return  none
//  258  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
//  259 void NIB_init()
NIB_init:
        CFI Block cfiBlock2 Using cfiCommon0
        CFI Function NIB_init
//  260 {
        FUNCALL NIB_init, osal_memset
        LOCFRAME ISTACK, 2, STACK
        ARGFRAME ISTACK, 2, STACK
        FUNCALL NIB_init, osal_cpyExtAddr
        LOCFRAME ISTACK, 2, STACK
        ARGFRAME ISTACK, 2, STACK
        PUSH	DPL
        CFI DPL0 Frame(CFA_SP, 4)
        CFI CFA_SP SP+-4
        PUSH	DPH
        CFI DPH0 Frame(CFA_SP, 5)
        CFI CFA_SP SP+-5
        ; Saved register size: 2
        ; Auto size: 0
//  261 #if defined ( AUTO_SOFT_START )
//  262   byte extAddr[Z_EXTADDR_LEN];
//  263   ZMacGetReq( ZMacExtAddr, extAddr );
//  264   _NIB.SequenceNum = extAddr[0];
//  265 #else
//  266   _NIB.SequenceNum = 1;
        MOV	A,#0x1
        MOV	DPTR,#_NIB
        MOVX	@DPTR,A
//  267 #endif
//  268 
//  269   _NIB.MaxDepth = MAX_NODE_DEPTH;
        MOV	A,#0x5
        MOV	DPTR,#(_NIB + 4)
        MOVX	@DPTR,A
//  270 
//  271 #if ( NWK_MODE == NWK_MODE_MESH )
//  272   _NIB.beaconOrder = BEACON_ORDER_NO_BEACONS;
        MOV	A,#0xf
        MOV	DPTR,#(_NIB + 40)
        MOVX	@DPTR,A
//  273   _NIB.superFrameOrder = BEACON_ORDER_NO_BEACONS;
        MOV	DPTR,#(_NIB + 41)
        MOVX	@DPTR,A
//  274 #endif
//  275 
//  276    // BROADCAST SETTINGS:
//  277    // *******************
//  278    //   Broadcast Delivery Time
//  279    //     - set to multiples of 100ms 
//  280    //     - should be 500ms more than the retry time
//  281    //       -  "retry time" = PassiveAckTimeout * (MaxBroadcastRetries + 1)
//  282    //   Passive Ack Timeout
//  283    //     - set to multiples of 100ms 
//  284    _NIB.BroadcastDeliveryTime = zgBcastDeliveryTime;
        MOV	DPTR,#zgBcastDeliveryTime
        MOVX	A,@DPTR
        MOV	DPTR,#(_NIB + 7)
        MOVX	@DPTR,A
//  285    _NIB.PassiveAckTimeout     = zgPassiveAckTimeout;
        MOV	DPTR,#zgPassiveAckTimeout
        MOVX	A,@DPTR
        MOV	DPTR,#(_NIB + 1)
        MOVX	@DPTR,A
//  286    _NIB.MaxBroadcastRetries   = zgMaxBcastRetires;
        MOV	DPTR,#zgMaxBcastRetires
        MOVX	A,@DPTR
        MOV	DPTR,#(_NIB + 2)
        MOVX	@DPTR,A
//  287 
//  288    _NIB.ReportConstantCost = 0;
        CLR	A
        MOV	DPTR,#(_NIB + 8)
        MOVX	@DPTR,A
//  289    _NIB.RouteDiscRetries = 0;
        MOV	DPTR,#(_NIB + 9)
        MOVX	@DPTR,A
//  290    _NIB.SecureAllFrames = USE_NWK_SECURITY;
        MOV	DPTR,#(_NIB + 11)
        MOVX	@DPTR,A
//  291    _NIB.SecurityLevel = zgSecurityLevel;
        MOV	DPTR,#zgSecurityLevel
        MOVX	A,@DPTR
        MOV	DPTR,#(_NIB + 12)
        MOVX	@DPTR,A
//  292    _NIB.SymLink = 0;
        CLR	A
        MOV	DPTR,#(_NIB + 13)
        MOVX	@DPTR,A
//  293    _NIB.CapabilityInfo = ZDO_Config_Node_Descriptor.CapabilityFlags;
        MOV	DPTR,#(ZDO_Config_Node_Descriptor + 2)
        MOVX	A,@DPTR
        MOV	DPTR,#(_NIB + 14)
        MOVX	@DPTR,A
//  294 
//  295    _NIB.TransactionPersistenceTime = zgIndirectMsgTimeout;
        MOV	DPTR,#zgIndirectMsgTimeout
        MOVX	A,@DPTR
        MOV	DPTR,#(_NIB + 15)
        MOVX	@DPTR,A
        INC	DPTR
        CLR	A
        MOVX	@DPTR,A
//  296 
//  297    _NIB.RouteDiscoveryTime = 5;
        MOV	A,#0x5
        MOV	DPTR,#(_NIB + 18)
        MOVX	@DPTR,A
//  298    _NIB.RouteExpiryTime = zgRouteExpiryTime;
        MOV	DPTR,#zgRouteExpiryTime
        MOVX	A,@DPTR
        MOV	DPTR,#(_NIB + 19)
        MOVX	@DPTR,A
//  299 
//  300    _NIB.nwkDevAddress = INVALID_NODE_ADDR;
        MOV	DPTR,#(_NIB + 20)
        MOV	A,#-0x2
        MOVX	@DPTR,A
        INC	DPTR
        MOV	A,#-0x1
        MOVX	@DPTR,A
//  301    _NIB.nwkLogicalChannel = 0;
        CLR	A
        MOV	DPTR,#(_NIB + 22)
        MOVX	@DPTR,A
//  302    _NIB.nwkCoordAddress = INVALID_NODE_ADDR;
        MOV	DPTR,#(_NIB + 23)
        MOV	A,#-0x2
        MOVX	@DPTR,A
        INC	DPTR
        MOV	A,#-0x1
        MOVX	@DPTR,A
//  303    osal_memset( _NIB.nwkCoordExtAddress, 0, Z_EXTADDR_LEN );
        ; Setup parameters for call to function osal_memset
        MOV	R4,#0x8
        MOV	R5,#0x0
        MOV	R1,#0x0
        MOV	R2,#((_NIB + 25) & 0xff)
        MOV	R3,#(((_NIB + 25) >> 8) & 0xff)
        MOV	DPTR,#(osal_memset & 0xffff)
        MOV	A,#((osal_memset >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
//  304    _NIB.nwkPanId = INVALID_NODE_ADDR;
        MOV	DPTR,#(_NIB + 33)
        MOV	A,#-0x2
        MOVX	@DPTR,A
        INC	DPTR
        MOV	A,#-0x1
        MOVX	@DPTR,A
//  305 
//  306    osal_cpyExtAddr( _NIB.extendedPANID, zgExtendedPANID );
        ; Setup parameters for call to function osal_cpyExtAddr
        MOV	R4,#(zgExtendedPANID & 0xff)
        MOV	R5,#((zgExtendedPANID >> 8) & 0xff)
        MOV	R2,#((_NIB + 53) & 0xff)
        MOV	R3,#(((_NIB + 53) >> 8) & 0xff)
        MOV	DPTR,#(osal_cpyExtAddr & 0xffff)
        MOV	A,#((osal_cpyExtAddr >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
//  307    
//  308    _NIB.nwkKeyLoaded = FALSE;
        CLR	A
        MOV	DPTR,#(_NIB + 61)
        MOVX	@DPTR,A
//  309 }
        LJMP	?Subroutine0 & 0xFFFF
        CFI EndBlock cfiBlock2
//  310 
//  311 /*********************************************************************
//  312  * @fn       nwk_Status()
//  313  *
//  314  * @brief
//  315  *
//  316  *   Status report.
//  317  *
//  318  * @param   statusCode
//  319  * @param   statusValue
//  320  *
//  321  * @return  none
//  322  */

        RSEG BANKED_CODE:CODE:NOROOT(0)
//  323 void nwk_Status( uint16 statusCode, uint16 statusValue )
nwk_Status:
        CFI Block cfiBlock3 Using cfiCommon0
        CFI Function nwk_Status
//  324 {
        ; Saved register size: 0
        ; Auto size: 0
//  325 #if defined ( LCD_SUPPORTED )
//  326   switch ( statusCode )
//  327   {
//  328 
//  329 #if defined( RTR_NWK )
//  330     case NWK_STATUS_COORD_ADDR:
//  331       HalLcdWriteString( (char*)ZigbeeCoordStr, HAL_LCD_LINE_1 );
//  332       HalLcdWriteStringValue( (char*)NetworkIDStr, (uint32)statusValue, 16, HAL_LCD_LINE_2 );
//  333       BuzzerControl( BUZZER_BLIP );
//  334       break;
//  335 
//  336     case NWK_STATUS_ROUTER_ADDR:
//  337       HalLcdWriteStringValue( (char*)RouterStr, (uint32)statusValue, 16, HAL_LCD_LINE_1 );
//  338       break;
//  339 
//  340     case NWK_STATUS_ORPHAN_RSP:
//  341       if ( statusValue == ZSuccess )
//  342         HalLcdWriteScreen( (char*)OrphanRspStr, (char*)SentStr );
//  343       else
//  344         HalLcdWriteScreen( (char*)OrphanRspStr, (char*)FailedStr );
//  345       break;
//  346 
//  347     case NWK_ERROR_ASSOC_RSP:
//  348       HalLcdWriteString( (char*)AssocRspFailStr, HAL_LCD_LINE_1 );
//  349       HalLcdWriteValue( (uint32)(statusValue), 16, HAL_LCD_LINE_2 );
//  350       break;
//  351 #else
//  352     case NWK_STATUS_ED_ADDR:
//  353             HalLcdWriteStringValue( (char*)EndDeviceStr, (uint32)statusValue, 16, HAL_LCD_LINE_1 );
//  354       break;
//  355 #endif
//  356 
//  357     case NWK_STATUS_PARENT_ADDR:
//  358             HalLcdWriteStringValue( (char*)ParentStr, (uint32)statusValue, 16, HAL_LCD_LINE_2 );
//  359       break;
//  360 
//  361     case NWK_STATUS_ASSOC_CNF:
//  362       HalLcdWriteScreen( (char*)AssocCnfStr, (char*)SuccessStr );
//  363       break;
//  364 
//  365     case NWK_ERROR_ASSOC_CNF_DENIED:
//  366       HalLcdWriteString((char*)AssocCnfFailStr, HAL_LCD_LINE_1 );
//  367       HalLcdWriteValue( (uint32)(statusValue), 16, HAL_LCD_LINE_2 );
//  368       break;
//  369 
//  370     case NWK_ERROR_ENERGY_SCAN_FAILED:
//  371       HalLcdWriteScreen( (char*)EnergyLevelStr, (char*)ScanFailedStr );
//  372       break;
//  373   }
//  374 #endif
//  375 }
        LJMP	?BRET
        CFI EndBlock cfiBlock3

        RSEG XDATA_ID:CODE:NOROOT(0)
`?<Initializer for gMIN_TREE_LINK_COST>`:
        DB 6

        END
//  376 
//  377 /*********************************************************************
//  378 *********************************************************************/
// 
// 212 bytes in segment BANKED_CODE
//  33 bytes in segment CODE_C
//   1 byte  in segment XDATA_I
//   1 byte  in segment XDATA_ID
//  44 bytes in segment XDATA_Z
// 
// 246 bytes of CODE  memory
//  45 bytes of XDATA memory
//
//Errors: none
//Warnings: none

⌨️ 快捷键说明

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