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

📄 sampleapp.lst

📁 cc2430讀取短地址程式
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   00008E   7D00         MOV     R5,#0x0
   \   000090   7A..         MOV     R2,#((SampleApp_Group + 2) & 0xff)
   \   000092   7B..         MOV     R3,#(((SampleApp_Group + 2) >> 8) & 0xff)
   \   000094   90....       MOV     DPTR,#(osal_memcpy & 0xffff)
   \   000097   74..         MOV     A,#((osal_memcpy >> 16) & 0xff)
   \   000099   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   00009C   7403         MOV     A,#0x3
   \   00009E   12....       LCALL   ?DEALLOC_XSTACK8
    219            aps_AddGroup( SAMPLEAPP_ENDPOINT, &SampleApp_Group );
   \   0000A1                ; Setup parameters for call to function aps_AddGroup
   \   0000A1   7A..         MOV     R2,#(SampleApp_Group & 0xff)
   \   0000A3   7B..         MOV     R3,#((SampleApp_Group >> 8) & 0xff)
   \   0000A5   7914         MOV     R1,#0x14
   \   0000A7   90....       MOV     DPTR,#(aps_AddGroup & 0xffff)
   \   0000AA   74..         MOV     A,#((aps_AddGroup >> 16) & 0xff)
   \   0000AC   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    220          
    221          #if defined ( LCD_SUPPORTED )
    222            HalLcdWriteString( "SampleApp", HAL_LCD_LINE_1 );
    223          #endif
    224          }
   \   0000AF   7F03         MOV     R7,#0x3
   \   0000B1   02....       LJMP    ?BANKED_LEAVE_XDATA
    225          
    226          /*********************************************************************
    227           * @fn      SampleApp_ProcessEvent
    228           *
    229           * @brief   Generic Application Task event processor.  This function
    230           *          is called to process all events for the task.  Events
    231           *          include timers, messages and any other user defined events.
    232           *
    233           * @param   task_id  - The OSAL assigned task ID.
    234           * @param   events - events to process.  This is a bit map and can
    235           *                   contain more than one event.
    236           *
    237           * @return  none
    238           */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    239          uint16 SampleApp_ProcessEvent( uint8 task_id, uint16 events )
   \                     SampleApp_ProcessEvent:
    240          {
   \   000000   74F4         MOV     A,#-0xc
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 12
   \   000005                ; Auto size: 0
   \   000005   EA           MOV     A,R2
   \   000006   FE           MOV     R6,A
   \   000007   EB           MOV     A,R3
   \   000008   FF           MOV     R7,A
    241            afIncomingMSGPacket_t *MSGpkt;
    242          
    243            if ( events & SYS_EVENT_MSG )
   \   000009   7480         MOV     A,#-0x80
   \   00000B   5F           ANL     A,R7
   \   00000C   F9           MOV     R1,A
   \   00000D   E4           CLR     A
   \   00000E   7001         JNZ     ??SampleApp_ProcessEvent_0
   \   000010   E9           MOV     A,R1
   \                     ??SampleApp_ProcessEvent_0:
   \   000011   7003         JNZ     $+5
   \   000013   02....       LJMP    ??SampleApp_ProcessEvent_1 & 0xFFFF
    244            {
    245              MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( SampleApp_TaskID );
   \   000016                ; Setup parameters for call to function osal_msg_receive
   \   000016   803B         SJMP    ??SampleApp_ProcessEvent_2
    246              while ( MSGpkt )
    247              {
    248                switch ( MSGpkt->hdr.event )
    249                {
    250                  // Received when a key is pressed
    251                  case KEY_CHANGE:
    252                    SampleApp_HandleKeys( ((keyChange_t *)MSGpkt)->state, ((keyChange_t *)MSGpkt)->keys );
    253                    break;
    254          
    255                  // Received when a messages is received (OTA) for this endpoint
    256                  case AF_INCOMING_MSG_CMD:
    257                    SampleApp_MessageMSGCB( MSGpkt );
    258                    //HAL_TOGGLE_LED1();
    259                    break;
    260          
    261                  // Received whenever the device changes state in the network
    262                  case ZDO_STATE_CHANGE:
    263                    SampleApp_NwkState = (devStates_t)(MSGpkt->hdr.status);
   \                     ??SampleApp_ProcessEvent_3:
   \   000018   85..82       MOV     DPL,?V0 + 0
   \   00001B   85..83       MOV     DPH,?V0 + 1
   \   00001E   A3           INC     DPTR
   \   00001F   E0           MOVX    A,@DPTR
   \   000020   90....       MOV     DPTR,#SampleApp_NwkState
   \   000023   F0           MOVX    @DPTR,A
    264                    if ( (SampleApp_NwkState == DEV_ZB_COORD)
    265                        || (SampleApp_NwkState == DEV_ROUTER)
    266                        || (SampleApp_NwkState == DEV_END_DEVICE) )
   \   000024   6409         XRL     A,#0x9
   \   000026   600A         JZ      ??SampleApp_ProcessEvent_4
   \   000028   E0           MOVX    A,@DPTR
   \   000029   6407         XRL     A,#0x7
   \   00002B   6005         JZ      ??SampleApp_ProcessEvent_4
   \   00002D   E0           MOVX    A,@DPTR
   \   00002E   6406         XRL     A,#0x6
   \   000030   7015         JNZ     ??SampleApp_ProcessEvent_5
    267                    {
    268                      // Start sending the periodic message in a regular interval.
    269                      osal_start_timerEx( SampleApp_TaskID,
    270                                        SAMPLEAPP_SEND_PERIODIC_MSG_EVT,
    271                                        SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT );
   \                     ??SampleApp_ProcessEvent_4:
   \   000032                ; Setup parameters for call to function osal_start_timerEx
   \   000032   7C88         MOV     R4,#-0x78
   \   000034   7D13         MOV     R5,#0x13
   \   000036   7A01         MOV     R2,#0x1
   \   000038   7B00         MOV     R3,#0x0
   \   00003A   90....       MOV     DPTR,#SampleApp_TaskID
   \   00003D   E0           MOVX    A,@DPTR
   \   00003E   F9           MOV     R1,A
   \   00003F   90....       MOV     DPTR,#(osal_start_timerEx & 0xffff)
   \   000042   74..         MOV     A,#((osal_start_timerEx >> 16) & 0xff)
   \                     ??SampleApp_ProcessEvent_6:
   \   000044   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    272                    }
    273                    else
    274                    {
    275                      // Device is no longer in the network
    276                    }
    277                    break;
    278          
    279                  default:
    280                    break;
    281                }
    282          
    283                // Release the memory
    284                osal_msg_deallocate( (uint8 *)MSGpkt );
   \                     ??SampleApp_ProcessEvent_5:
   \   000047                ; Setup parameters for call to function osal_msg_deallocate
   \   000047   AA..         MOV     R2,?V0 + 0
   \   000049   AB..         MOV     R3,?V0 + 1
   \   00004B   90....       MOV     DPTR,#(osal_msg_deallocate & 0xffff)
   \   00004E   74..         MOV     A,#((osal_msg_deallocate >> 16) & 0xff)
   \   000050   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    285          
    286                // Next - if one is available
    287                MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( SampleApp_TaskID );
   \   000053                ; Setup parameters for call to function osal_msg_receive
   \                     ??SampleApp_ProcessEvent_2:
   \   000053   90....       MOV     DPTR,#SampleApp_TaskID
   \   000056   E0           MOVX    A,@DPTR
   \   000057   F9           MOV     R1,A
   \   000058   90....       MOV     DPTR,#(osal_msg_receive & 0xffff)
   \   00005B   74..         MOV     A,#((osal_msg_receive >> 16) & 0xff)
   \   00005D   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   000060   8A..         MOV     ?V0 + 0,R2
   \   000062   8B..         MOV     ?V0 + 1,R3
   \   000064   E5..         MOV     A,?V0 + 0
   \   000066   7002         JNZ     ??SampleApp_ProcessEvent_7
   \   000068   E5..         MOV     A,?V0 + 1
   \                     ??SampleApp_ProcessEvent_7:
   \   00006A   603E         JZ      ??SampleApp_ProcessEvent_8
   \   00006C   85..82       MOV     DPL,?V0 + 0
   \   00006F   85..83       MOV     DPH,?V0 + 1
   \   000072   E0           MOVX    A,@DPTR
   \   000073   12....       LCALL   ?UC_SWITCH_SPARSE
   \                     `?<Jumptable for SampleApp_ProcessEvent>_0`:
   \   000076   00           DB        0
   \   000077   03           DB        3
   \   000078   1A           DB        26
   \   000079   ....         DW        ??SampleApp_ProcessEvent_9
   \   00007B   C0           DB        192
   \   00007C   ....         DW        ??SampleApp_ProcessEvent_10
   \   00007E   D1           DB        209
   \   00007F   ....         DW        ??SampleApp_ProcessEvent_3
   \   000081   ....         DW        ??SampleApp_ProcessEvent_5
   \                     ??SampleApp_ProcessEvent_10:
   \   000083                ; Setup parameters for call to function SampleApp_HandleKeys
   \   000083   85..82       MOV     DPL,?V0 + 0
   \   000086   85..83       MOV     DPH,?V0 + 1
   \   000089   A3           INC     DPTR
   \   00008A   A3           INC     DPTR
   \   00008B   A3           INC     DPTR
   \   00008C   E0           MOVX    A,@DPTR
   \   00008D   FA           MOV     R2,A
   \   00008E   85..82       MOV     DPL,?V0 + 0
   \   000091   85..83       MOV     DPH,?V0 + 1
   \   000094   A3           INC     DPTR
   \   000095   A3           INC     DPTR
   \   000096   E0           MOVX    A,@DPTR
   \   000097   F9           MOV     R1,A
   \   000098   90....       MOV     DPTR,#(SampleApp_HandleKeys & 0xffff)
   \   00009B   74..         MOV     A,#((SampleApp_HandleKeys >> 16) & 0xff)
   \   00009D   80A5         SJMP    ??SampleApp_ProcessEvent_6
   \                     ??SampleApp_ProcessEvent_9:
   \   00009F                ; Setup parameters for call to function SampleApp_MessageMSGCB
   \   00009F   AA..         MOV     R2,?V0 + 0
   \   0000A1   AB..         MOV     R3,?V0 + 1
   \   0000A3   90....       MOV     DPTR,#(SampleApp_MessageMSGCB & 0xffff)
   \   0000A6   74..         MOV     A,#((SampleApp_MessageMSGCB >> 16) & 0xff)
   \   0000A8   809A         SJMP    ??SampleApp_ProcessEvent_6
    288              }
    289          
    290              // return unprocessed events
    291              return (events ^ SYS_EVENT_MSG);
   \                     ??SampleApp_ProcessEvent_8:
   \   0000AA   EE           MOV     A,R6
   \   0000AB   FA           MOV     R2,A
   \   0000AC   7480         MOV     A,#-0x80
   \   0000AE   6F           XRL     A,R7
   \                     ??SampleApp_ProcessEvent_11:
   \   0000AF   FB           MOV     R3,A
   \   0000B0   803E         SJMP    ??SampleApp_ProcessEvent_12
    292            }
    293          
    294            // Send a message out - This event is generated by a timer
    295            //  (setup in SampleApp_Init()).
    296            if ( events & SAMPLEAPP_SEND_PERIODIC_MSG_EVT )
   \                     ??SampleApp_ProcessEvent_1:
   \   0000B2   EE           MOV     A,R6
   \   0000B3   A2E0         MOV     C,0xE0 /* A   */.0
   \   0000B5   5035         JNC     ??SampleApp_ProcessEvent_13
    297            {
    298              // Send the periodic message
    299              SampleApp_SendPeriodicMessage();
   \   0000B7                ; Setup parameters for call to function SampleApp_SendPeriodicMessage
   \   0000B7   90....       MOV     DPTR,#(SampleApp_SendPeriodicMessage & 0xffff)
   \   0000BA   74..         MOV     A,#((SampleApp_SendPeriodicMessage >> 16) & 0xff)
   \   0000BC   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    300          
    301              // Setup to send message again in normal period (+ a little jitter)
    302              osal_start_timerEx( SampleApp_TaskID, SAMPLEAPP_SEND_PERIODIC_MSG_EVT,
    303                  (SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT + (osal_rand() & 0x00FF)) );
   \   0000BF                ; Setup parameters for call to function osal_rand
   \   0000BF   90....       MOV     DPTR,#(osal_rand & 0xffff)
   \   0000C2   74..         MOV     A,#((osal_rand >> 16) & 0xff)
   \   0000C4   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   0000C7   8A..         MOV     ?V0 + 0,R2
   \   0000C9   A8..         MOV     R0,?V0 + 0
   \   0000CB                ; Setup parameters for call to function osal_start_timerEx
   \   0000CB   7488         MOV     A,#-0x78
   \   0000CD   28           ADD     A,R0
   \   0000CE   FC           MOV     R4,A
   \   0000CF   7413         MOV     A,#0x13
   \   0000D1   3400         ADDC    A,#0x0

⌨️ 快捷键说明

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