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

📄 mac_rx_onoff.lst

📁 cc2430应用实例
💻 LST
📖 第 1 页 / 共 3 页
字号:
    185            halIntState_t  s;
    186          
    187            HAL_ENTER_CRITICAL_SECTION(s);
   \   000005   A2AF         MOV     C,0xa8.7
   \   000007   E4           CLR     A
   \   000008   92E0         MOV     0xE0 /* A   */.0,C
   \   00000A   FE           MOV     R6,A
   \   00000B   C2AF         CLR     0xa8.7
    188            if (macRxEnableFlags)
   \   00000D   90....       MOV     DPTR,#macRxEnableFlags
   \   000010   E0           MOVX    A,@DPTR
   \   000011   6008         JZ      ??macRxOnRequest_0
    189            {
    190              macRxOn();
   \   000013                ; Setup parameters for call to function macRxOn
   \   000013   90....       MOV     DPTR,#(macRxOn & 0xffff)
   \   000016   74..         MOV     A,#((macRxOn >> 16) & 0xff)
   \   000018   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    191            }
    192            HAL_EXIT_CRITICAL_SECTION(s);
   \                     ??macRxOnRequest_0:
   \   00001B   02....       LJMP    ?Subroutine2 & 0xFFFF
    193          }
    194          
    195          
    196          /**************************************************************************************************
    197           * @fn          macRxOffRequest
    198           *
    199           * @brief       Turn off receiver if permitted.
    200           *
    201           * @param       none
    202           *
    203           * @return      none
    204           **************************************************************************************************
    205           */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    206          void macRxOffRequest(void)
   \                     macRxOffRequest:
    207          {
   \   000000   74F7         MOV     A,#-0x9
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 9
   \   000005                ; Auto size: 0
    208            halIntState_t  s;
    209          
    210            HAL_ENTER_CRITICAL_SECTION(s);
   \   000005   A2AF         MOV     C,0xa8.7
   \   000007   E4           CLR     A
   \   000008   92E0         MOV     0xE0 /* A   */.0,C
   \   00000A   FE           MOV     R6,A
   \   00000B   C2AF         CLR     0xa8.7
    211            if (!macRxEnableFlags)
   \   00000D   90....       MOV     DPTR,#macRxEnableFlags
   \   000010   E0           MOVX    A,@DPTR
   \   000011   701E         JNZ     ??macRxOffRequest_0
    212            {
    213              if (!MAC_RX_IS_PHYSICALLY_ACTIVE() && !MAC_TX_IS_PHYSICALLY_ACTIVE())
   \   000013   90....       MOV     DPTR,#macRxActive
   \   000016   E0           MOVX    A,@DPTR
   \   000017   A2E7         MOV     C,0xE0 /* A   */.7
   \   000019   4016         JC      ??macRxOffRequest_0
   \   00001B   90....       MOV     DPTR,#macRxOutgoingAckFlag
   \   00001E   E0           MOVX    A,@DPTR
   \   00001F   7010         JNZ     ??macRxOffRequest_0
   \   000021   90....       MOV     DPTR,#macTxActive
   \   000024   E0           MOVX    A,@DPTR
   \   000025   A2E7         MOV     C,0xE0 /* A   */.7
   \   000027   4008         JC      ??macRxOffRequest_0
    214              {
    215                macRxOff();
   \   000029                ; Setup parameters for call to function macRxOff
   \   000029   90....       MOV     DPTR,#(macRxOff & 0xffff)
   \   00002C   74..         MOV     A,#((macRxOff >> 16) & 0xff)
   \   00002E   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    216              }
    217            }
    218            HAL_EXIT_CRITICAL_SECTION(s);
   \                     ??macRxOffRequest_0:
   \   000031   02....       LJMP    ?Subroutine2 & 0xFFFF
    219          }
    220          
    221          
    222          /**************************************************************************************************
    223           * @fn          macRxOn
    224           *
    225           * @brief       Turn on the receiver if it's not already on.
    226           *
    227           * @param       none
    228           *
    229           * @return      none
    230           **************************************************************************************************
    231           */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    232          void macRxOn(void)
   \                     macRxOn:
    233          {
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 0
    234            halIntState_t  s;
    235          
    236            HAL_ENTER_CRITICAL_SECTION(s);
   \   000004   A2AF         MOV     C,0xa8.7
   \   000006   E4           CLR     A
   \   000007   92E0         MOV     0xE0 /* A   */.0,C
   \   000009   C2AF         CLR     0xa8.7
    237            if (!macRxOnFlag)
   \   00000B   90....       MOV     DPTR,#macRxOnFlag
   \   00000E   E0           MOVX    A,@DPTR
   \   00000F   7006         JNZ     ??macRxOn_0
    238            {
    239              macRxOnFlag = 1;
   \   000011   7401         MOV     A,#0x1
   \   000013   F0           MOVX    @DPTR,A
    240              MAC_RADIO_RX_ON();
   \   000014   75E1E2       MOV     0xe1,#-0x1e
    241              MAC_DEBUG_TURN_ON_RX_LED();
    242            }
    243            HAL_EXIT_CRITICAL_SECTION(s);
   \                     ??macRxOn_0:
   \   000017   02....       LJMP    ?Subroutine1 & 0xFFFF
    244          }
    245          
    246          
    247          /**************************************************************************************************
    248           * @fn          macRxOff
    249           *
    250           * @brief       Turn off the receiver if it's not already off.
    251           *
    252           * @param       none
    253           *
    254           * @return      none
    255           **************************************************************************************************
    256           */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    257          void macRxOff(void)
   \                     macRxOff:
    258          {
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 0
    259            halIntState_t  s;
    260          
    261            HAL_ENTER_CRITICAL_SECTION(s);
   \   000004   A2AF         MOV     C,0xa8.7
   \   000006   E4           CLR     A
   \   000007   92E0         MOV     0xE0 /* A   */.0,C
   \   000009   C2AF         CLR     0xa8.7
    262            if (macRxOnFlag)
   \   00000B   90....       MOV     DPTR,#macRxOnFlag
   \   00000E   E0           MOVX    A,@DPTR
   \   00000F   6007         JZ      ??macRxOff_0
    263            {
    264              macRxOnFlag = 0;
   \   000011   E4           CLR     A
   \   000012   12....       LCALL   ?Subroutine0 & 0xFFFF
    265              MAC_RADIO_RXTX_OFF();
    266              MAC_DEBUG_TURN_OFF_RX_LED();
    267              
    268              /* just in case a receive was about to start, flush the receive FIFO */
    269              MAC_RADIO_FLUSH_RX_FIFO();
    270          
    271              /* clear any receive interrupt that happened to squeak through */
    272              MAC_RADIO_CLEAR_RX_THRESHOLD_INTERRUPT_FLAG();
   \                     ??CrossCallReturnLabel_1:
   \   000015   75E9DF       MOV     0xe9,#-0x21
    273          
    274            }
    275            HAL_EXIT_CRITICAL_SECTION(s);
   \                     ??macRxOff_0:
   \   000018   02....       LJMP    ?Subroutine1 & 0xFFFF
    276          }

   \                                 In segment SFR_AN, at 0xa8
   \   union <unnamed> volatile __sfr _A_IEN0
   \                     _A_IEN0:
   \   000000                DS 1
    277          
    278          
    279          /**************************************************************************************************
    280          */

   Maximum stack usage in bytes:

     Function              ISTACK PSTACK XSTACK
     --------              ------ ------ ------
     macRxDisable              0      0      9
       -> halAssertHandler     0      0     18
       -> macRxOffRequest      0      0     18
     macRxEnable               0      0      9
       -> halAssertHandler     0      0     18
       -> macRxOn              0      0     18
     macRxHardDisable          2      0      0
       -> macRxHaltCleanup     4      0      0
     macRxOff                  2      0      9
     macRxOffRequest           0      0     18
       -> macRxOff             0      0     18
     macRxOn                   2      0      9
     macRxOnOffInit            2      0      0
     macRxOnRequest            0      0      9
       -> macRxOn              0      0     18
     macRxSoftEnable           0      0      9
       -> halAssertHandler     0      0     18


   Segment part sizes:

     Function/Label   Bytes
     --------------   -----
     RFST                1
     RFIF                1
     macRxOnFlag         1
     macRxEnableFlags    1
     macRxOnOffInit     15
     ?Subroutine1        9
     macRxEnable        42
     ?Subroutine2       10
     macRxSoftEnable    32
     macRxDisable       45
     macRxHardDisable   35
     ?Subroutine0       11
     macRxOnRequest     30
     macRxOffRequest    52
     macRxOn            26
     macRxOff           27
     _A_IEN0             1

 
 334 bytes in segment BANKED_CODE
   3 bytes in segment SFR_AN
   2 bytes in segment XDATA_Z
 
 334 bytes of CODE  memory
   0 bytes of DATA  memory (+ 3 bytes shared)
   2 bytes of XDATA memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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