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

📄 mac_power_management.lst

📁 zigbee location examples
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   00006A                ; Setup parameters for call to function mtxpInit
   \   00006A   12....       LCALL   mtxpInit
    433          #if MAC_OPT_FFD
    434                     miqInit();
   \   00006D                ; Setup parameters for call to function miqInit
   \   00006D   12....       LCALL   miqInit
    435          #endif
    436                     mtxInfo.startTxTask = mschReserveTask();
   \   000070                ; Setup parameters for call to function mschReserveTask
   \   000070   12....       LCALL   mschReserveTask
   \   000073   E9           MOV     A,R1
   \   000074   90....       MOV     DPTR,#(mtxInfo + 12)
   \   000077   F0           MOVX    @DPTR,A
    437                     mrxInfo.state = MRX_STATE_LEN_FCF_SEQ;
   \   000078   E4           CLR     A
   \   000079   90....       MOV     DPTR,#(mrxInfo + 12)
   \   00007C   F0           MOVX    @DPTR,A
    438                     mbcnInfo.rxTaskNumber = NO_TASK;
   \   00007D   74FF         MOV     A,#-0x1
   \   00007F   90....       MOV     DPTR,#(mbcnInfo + 1)
   \   000082   F0           MOVX    @DPTR,A
    439                     mbcnInfo.txTaskNumber = NO_TASK;
   \   000083   90....       MOV     DPTR,#mbcnInfo
   \   000086   F0           MOVX    @DPTR,A
    440                     mbcnInfo.pTxPacket = NULL;
   \   000087   90....       MOV     DPTR,#(mbcnInfo + 2)
   \   00008A   E4           CLR     A
   \   00008B   F0           MOVX    @DPTR,A
   \   00008C   A3           INC     DPTR
   \   00008D   F0           MOVX    @DPTR,A
    441                     mscInfo.scanStatus = MSC_STATUS_FINISHED;
   \   00008E   7401         MOV     A,#0x1
   \   000090   90....       MOV     DPTR,#(mscInfo + 10)
   \   000093   F0           MOVX    @DPTR,A
    442                     break;
    443              }
    444          
    445              // Reset flags
    446              RESET_MF();
   \                     ??mpmResumeMacAfterPowerDown_0:
   \   000094   E4           CLR     A
   \   000095   90....       MOV     DPTR,#(macInfo + 6)
   \   000098   F0           MOVX    @DPTR,A
    447          
    448              // MAC command state
    449              macInfo.state = MAC_STATE_DEFAULT;
   \   000099   90....       MOV     DPTR,#macInfo
   \   00009C   F0           MOVX    @DPTR,A
    450          
    451              // Flush the RX FIFO twice (chip bug)
    452              ISFLUSHRX;
   \   00009D   75E1E6       MOV     0xe1,#-0x1a
    453              ISFLUSHRX;
   \   0000A0   75E1E6       MOV     0xe1,#-0x1a
    454              ISFLUSHTX;
   \   0000A3   75E1E7       MOV     0xe1,#-0x19
    455              ISFLUSHTX;
   \   0000A6   75E1E7       MOV     0xe1,#-0x19
    456          
    457              // Resume coordinator
    458              #pragma diag_suppress=PA082
    459              mdmctrl0 = READ_RFR16(MDMCTRL0);
   \   0000A9   90DF02       MOV     DPTR,#-0x20fe
   \   0000AC   E0           MOVX    A,@DPTR
   \   0000AD   F9           MOV     R1,A
   \   0000AE   90DF03       MOV     DPTR,#-0x20fd
   \   0000B1   E0           MOVX    A,@DPTR
   \   0000B2   2400         ADD     A,#0x0
   \   0000B4   E4           CLR     A
   \   0000B5   39           ADDC    A,R1
   \   0000B6   F9           MOV     R1,A
    460              #pragma diag_default=PA082
    461              if (mdmctrl0 & PAN_COORDINATOR_BM)
   \   0000B7   7410         MOV     A,#0x10
   \   0000B9   59           ANL     A,R1
   \   0000BA   F9           MOV     R1,A
   \   0000BB   E4           CLR     A
   \   0000BC   7001         JNZ     ??mpmResumeMacAfterPowerDown_7
   \   0000BE   E9           MOV     A,R1
   \                     ??mpmResumeMacAfterPowerDown_7:
   \   0000BF   90....       MOV     DPTR,#(mpib + 8)
   \   0000C2   601B         JZ      ??mpmResumeMacAfterPowerDown_8
    462                  ResumeCoordinatorAfterPowerDown (resumeMode, synchronousStart);
   \   0000C4   E0           MOVX    A,@DPTR
   \   0000C5   640F         XRL     A,#0xf
   \   0000C7   7051         JNZ     ??mpmResumeMacAfterPowerDown_9
   \   0000C9                ; Setup parameters for call to function mtimSetCallback
   \   0000C9   90....       MOV     DPTR,#__Constant_30
   \   0000CC   12....       LCALL   ?PUSH_XSTACK8_X_FOUR
   \   0000CF   79..         MOV     R1,#(mbcnExpirePacketsNonBeacon & 0xff)
   \   0000D1   7A..         MOV     R2,#((mbcnExpirePacketsNonBeacon >> 8) & 0xff)
   \   0000D3   7B..         MOV     R3,#((mbcnExpirePacketsNonBeacon >> 16) & 0xff)
   \   0000D5   12....       LCALL   mtimSetCallback
   \   0000D8   7404         MOV     A,#0x4
   \   0000DA   12....       LCALL   ?DEALLOC_XSTACK8
   \   0000DD   803B         SJMP    ??mpmResumeMacAfterPowerDown_9
    463              else
    464                  ResumeDeviceAfterPowerDown (resumeMode, synchronousStart);
   \                     ??mpmResumeMacAfterPowerDown_8:
   \   0000DF   E0           MOVX    A,@DPTR
   \   0000E0   FA           MOV     R2,A
   \   0000E1   740F         MOV     A,#0xf
   \   0000E3   6A           XRL     A,R2
   \   0000E4   6034         JZ      ??mpmResumeMacAfterPowerDown_9
   \   0000E6   E5..         MOV     A,?V0 + 0
   \   0000E8   7030         JNZ     ??mpmResumeMacAfterPowerDown_9
   \   0000EA   EF           MOV     A,R7
   \   0000EB   12....       LCALL   ?UC_SWITCH_DENSE
   \                     `?<Jumptable for mpmResumeMacAfterPowerDown>_1`:
   \   0000EE   00           DB        0
   \   0000EF   01           DB        1
   \   0000F0   ....         DW        ??mpmResumeMacAfterPowerDown_9
   \   0000F2   ....         DW        ??mpmResumeMacAfterPowerDown_10
   \   0000F4   ....         DW        ??mpmResumeMacAfterPowerDown_10
   \                     ??mpmResumeMacAfterPowerDown_10:
   \   0000F6   7401         MOV     A,#0x1
   \   0000F8   12....       LCALL   ?XSTACK_DISP0_8
   \   0000FB   EA           MOV     A,R2
   \   0000FC   F0           MOVX    @DPTR,A
   \   0000FD   E4           CLR     A
   \   0000FE   90....       MOV     DPTR,#(mpib + 8)
   \   000101   F0           MOVX    @DPTR,A
   \   000102                ; Setup parameters for call to function mlmeSetRequest
   \   000102   7401         MOV     A,#0x1
   \   000104   12....       LCALL   ?XSTACK_DISP0_8
   \   000107   AA82         MOV     R2,DPL
   \   000109   AB83         MOV     R3,DPH
   \   00010B   7947         MOV     R1,#0x47
   \   00010D   12....       LCALL   mlmeSetRequest
   \   000110                ; Setup parameters for call to function mlmeSyncRequest
   \   000110   7A01         MOV     R2,#0x1
   \   000112   90....       MOV     DPTR,#ppib
   \   000115   E0           MOVX    A,@DPTR
   \   000116   F9           MOV     R1,A
   \   000117   12....       LCALL   mlmeSyncRequest
    465          
    466              // Turn the interrupts back on
    467              EnableRfInterrupts ();
   \                     ??mpmResumeMacAfterPowerDown_9:
   \   00011A                ; Setup parameters for call to function EnableRfInterrupts
   \   00011A   12....       LCALL   EnableRfInterrupts
    468              ENABLE_TIMER2_INT();
   \   00011D   D2BA         SETB    0xb8.2
    469              ENABLE_GLOBAL_INT();
   \   00011F   D2AF         SETB    0xa8.7
    470          
    471              // Turn on receiver
    472              if (rxOnWhenIdle == TRUE)
   \   000121   7401         MOV     A,#0x1
   \   000123   6E           XRL     A,R6
   \   000124   7012         JNZ     ??mpmResumeMacAfterPowerDown_11
    473              {
    474                  setAttributeValue = TRUE;
   \   000126   7401         MOV     A,#0x1
   \   000128   85..82       MOV     DPL,?XSP + 0
   \   00012B   85..83       MOV     DPH,?XSP + 1
   \   00012E   F0           MOVX    @DPTR,A
    475                  mlmeSetRequest(MAC_RX_ON_WHEN_IDLE, &setAttributeValue);
   \   00012F                ; Setup parameters for call to function mlmeSetRequest
   \   00012F   AA82         MOV     R2,DPL
   \   000131   AB83         MOV     R3,DPH
   \   000133   7952         MOV     R1,#0x52
   \   000135   12....       LCALL   mlmeSetRequest
    476              }
    477          
    478          }
   \                     ??mpmResumeMacAfterPowerDown_11:
   \   000138   7402         MOV     A,#0x2
   \   00013A   02....       LJMP    ?Subroutine1

   \                                 In segment XDATA_I, align 1, keep-with-next
   \                     __Constant_30:
   \   000000                DS 4
   \   000004                REQUIRE `?<Initializer for __Constant_30>`
   \   000004                REQUIRE __INIT_XDATA_I

   \                                 In segment XDATA_ID, align 1, keep-with-next
   \                     `?<Initializer for __Constant_30>`:
   \   000000   30000000     DD 48

   \                                 In segment SFR_AN, at 0xa8
   \   union <unnamed> volatile __sfr _A_IEN0
   \                     _A_IEN0:
   \   000000                DS 1

   \                                 In segment SFR_AN, at 0xb8
   \   union <unnamed> volatile __sfr _A_IEN1
   \                     _A_IEN1:
   \   000000                DS 1
    479          
    480          
    481          //-------------------------------------------------------------------------------------------------------
    482          //  static void ResumeCoordinatorAfterPowerDown (RESUME_MODE  resumeMode)
    483          //                                         BOOL        synchronousStart)
    484          //
    485          //  DESCRIPTION:
    486          //      Resumes the coordinator after a power down
    487          //
    488          //-------------------------------------------------------------------------------------------------------
    489          static void ResumeCoordinatorAfterPowerDown (RESUME_MODE  resumeMode, BOOL synchronousStart)
    490          {
    491              if (mpib.macBeaconOrder == 15)
    492                  mtimSetCallback(mbcnExpirePacketsNonBeacon, (UINT32)(aBaseSuperframeDuration / aUnitBackoffPeriod));
    493          }
    494          
    495          //-------------------------------------------------------------------------------------------------------
    496          // static void ResumeDeviceAfterPowerDown (RESUME_MODE resumeMode,
    497          //                                         BOOL        synchronousStart)
    498          //
    499          //  DESCRIPTION:
    500          //      Resumes a device after a power down
    501          //
    502          //-------------------------------------------------------------------------------------------------------
    503          static void ResumeDeviceAfterPowerDown (RESUME_MODE resumeMode, BOOL synchronousStart)
    504          {
    505              BYTE  setAttributeValue;
    506          
    507              // Beacon network ?
    508              if ((mpib.macBeaconOrder != 15) && (synchronousStart == FALSE))
    509              {
    510                  switch (resumeMode)
    511                  {
    512                      case RESUME_MODE_ALL_PRESERVED:
    513                          setAttributeValue = mpib.macBeaconOrder;
    514                          mpib.macBeaconOrder = 0;
    515                          mlmeSetRequest(MAC_BEACON_ORDER, &setAttributeValue);
    516                          // Synchronize with the beacon in case of a beacon-enabled PAN
    517                          mlmeSyncRequest(ppib.phyCurrentChannel, TRUE);
    518                          break;
    519          
    520                      case RESUME_MODE_PARTS_PRESERVED:
    521                          setAttributeValue = mpib.macBeaconOrder;
    522                          mpib.macBeaconOrder = 0;
    523                          mlmeSetRequest(MAC_BEACON_ORDER, &setAttributeValue);
    524          
    525                          // Synchronize with the beacon in case of a beacon-enabled PAN
    526                          mlmeSyncRequest(ppib.phyCurrentChannel, TRUE);
    527                          break;
    528                

⌨️ 快捷键说明

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