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

📄 sampleapp.lst

📁 cc2430讀取短地址程式
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   0000D3   FD           MOV     R5,A
   \   0000D4   7A01         MOV     R2,#0x1
   \   0000D6   7B00         MOV     R3,#0x0
   \   0000D8   90....       MOV     DPTR,#SampleApp_TaskID
   \   0000DB   E0           MOVX    A,@DPTR
   \   0000DC   F9           MOV     R1,A
   \   0000DD   90....       MOV     DPTR,#(osal_start_timerEx & 0xffff)
   \   0000E0   74..         MOV     A,#((osal_start_timerEx >> 16) & 0xff)
   \   0000E2   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    304          
    305              // return unprocessed events
    306              return (events ^ SAMPLEAPP_SEND_PERIODIC_MSG_EVT);
   \   0000E5   7401         MOV     A,#0x1
   \   0000E7   6E           XRL     A,R6
   \   0000E8   FA           MOV     R2,A
   \   0000E9   EF           MOV     A,R7
   \   0000EA   80C3         SJMP    ??SampleApp_ProcessEvent_11
    307            }
    308          
    309            // Discard unknown events
    310            return 0;
   \                     ??SampleApp_ProcessEvent_13:
   \   0000EC   7A00         MOV     R2,#0x0
   \   0000EE   7B00         MOV     R3,#0x0
   \                     ??SampleApp_ProcessEvent_12:
   \   0000F0   7F04         MOV     R7,#0x4
   \   0000F2   02....       LJMP    ?BANKED_LEAVE_XDATA
    311          }
    312          
    313          /*********************************************************************
    314           * Event Generation Functions
    315           */
    316          /*********************************************************************
    317           * @fn      SampleApp_HandleKeys
    318           *
    319           * @brief   Handles all key events for this device.
    320           *
    321           * @param   shift - true if in shift/alt.
    322           * @param   keys - bit field for key events. Valid entries:
    323           *                 HAL_KEY_SW_2
    324           *                 HAL_KEY_SW_1
    325           *
    326           * @return  none
    327           */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    328          void SampleApp_HandleKeys( uint8 shift, uint8 keys )
   \                     SampleApp_HandleKeys:
    329          {
   \   000000   74F6         MOV     A,#-0xa
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 10
   \   000005                ; Auto size: 0
   \   000005   EA           MOV     A,R2
   \   000006   FE           MOV     R6,A
    330            if ( keys & HAL_KEY_SW_1 )
   \   000007   A2E0         MOV     C,0xE0 /* A   */.0
   \   000009   500C         JNC     ??SampleApp_HandleKeys_0
    331            {
    332              /* This key sends the Flash Command is sent to Group 1.
    333               * This device will not receive the Flash Command from this
    334               * device (even if it belongs to group 1).
    335               */
    336              SampleApp_SendFlashMessage( SAMPLEAPP_FLASH_DURATION );
   \   00000B                ; Setup parameters for call to function SampleApp_SendFlashMessage
   \   00000B   7AE8         MOV     R2,#-0x18
   \   00000D   7B03         MOV     R3,#0x3
   \   00000F   90....       MOV     DPTR,#(SampleApp_SendFlashMessage & 0xffff)
   \   000012   74..         MOV     A,#((SampleApp_SendFlashMessage >> 16) & 0xff)
   \   000014   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    337            }
    338          
    339            if ( keys & HAL_KEY_SW_2 )
   \                     ??SampleApp_HandleKeys_0:
   \   000017   EE           MOV     A,R6
   \   000018   A2E1         MOV     C,0xE0 /* A   */.1
   \   00001A   502F         JNC     ??SampleApp_HandleKeys_1
    340            {
    341              /* The Flashr Command is sent to Group 1.
    342               * This key toggles this device in and out of group 1.
    343               * If this device doesn't belong to group 1, this application
    344               * will not receive the Flash command sent to group 1.
    345               */
    346              aps_Group_t *grp;
    347              grp = aps_FindGroup( SAMPLEAPP_ENDPOINT, SAMPLEAPP_FLASH_GROUP );
    348              if ( grp )
   \   00001C                ; Setup parameters for call to function aps_FindGroup
   \   00001C   7A01         MOV     R2,#0x1
   \   00001E   7B00         MOV     R3,#0x0
   \   000020   7914         MOV     R1,#0x14
   \   000022   90....       MOV     DPTR,#(aps_FindGroup & 0xffff)
   \   000025   74..         MOV     A,#((aps_FindGroup >> 16) & 0xff)
   \   000027   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   00002A   EA           MOV     A,R2
   \   00002B   7001         JNZ     ??SampleApp_HandleKeys_2
   \   00002D   EB           MOV     A,R3
   \                     ??SampleApp_HandleKeys_2:
   \   00002E   600D         JZ      ??SampleApp_HandleKeys_3
    349              {
    350                // Remove from the group
    351                aps_RemoveGroup( SAMPLEAPP_ENDPOINT, SAMPLEAPP_FLASH_GROUP );
   \   000030                ; Setup parameters for call to function aps_RemoveGroup
   \   000030   7A01         MOV     R2,#0x1
   \   000032   7B00         MOV     R3,#0x0
   \   000034   7914         MOV     R1,#0x14
   \   000036   90....       MOV     DPTR,#(aps_RemoveGroup & 0xffff)
   \   000039   74..         MOV     A,#((aps_RemoveGroup >> 16) & 0xff)
   \   00003B   800B         SJMP    ??SampleApp_HandleKeys_4
    352              }
    353              else
    354              {
    355                // Add to the flash group
    356                aps_AddGroup( SAMPLEAPP_ENDPOINT, &SampleApp_Group );
   \                     ??SampleApp_HandleKeys_3:
   \   00003D                ; Setup parameters for call to function aps_AddGroup
   \   00003D   7A..         MOV     R2,#(SampleApp_Group & 0xff)
   \   00003F   7B..         MOV     R3,#((SampleApp_Group >> 8) & 0xff)
   \   000041   7914         MOV     R1,#0x14
   \   000043   90....       MOV     DPTR,#(aps_AddGroup & 0xffff)
   \   000046   74..         MOV     A,#((aps_AddGroup >> 16) & 0xff)
   \                     ??SampleApp_HandleKeys_4:
   \   000048   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    357              }
    358            }
    359          }
   \                     ??SampleApp_HandleKeys_1:
   \   00004B   02....       LJMP    ??Subroutine1_0 & 0xFFFF

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine1:
   \   000000   12....       LCALL   ?DEALLOC_XSTACK8
   \                     ??Subroutine1_0:
   \   000003   7F02         MOV     R7,#0x2
   \   000005   02....       LJMP    ?BANKED_LEAVE_XDATA
    360          
    361          /*********************************************************************
    362           * LOCAL FUNCTIONS
    363           */
    364          
    365          /*********************************************************************
    366           * @fn      SampleApp_MessageMSGCB
    367           *
    368           * @brief   Data message processor callback.  This function processes
    369           *          any incoming data - probably from other devices.  So, based
    370           *          on cluster ID, perform the intended action.
    371           *
    372           * @param   none
    373           *
    374           * @return  none
    375           */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    376          UINT8 SendData(UINT8 *buf, UINT16 addr, UINT8 Leng)
   \                     SendData:
    377          {
   \   000000   74F6         MOV     A,#-0xa
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 10
   \   000005                ; Auto size: 4
   \   000005   74FC         MOV     A,#-0x4
   \   000007   12....       LCALL   ?ALLOC_XSTACK8
    378          	afAddrType_t SendDataAddr;
    379          	
    380          	SendDataAddr.addrMode = (afAddrMode_t)Addr16Bit;
   \   00000A   7402         MOV     A,#0x2
   \   00000C   12....       LCALL   ?XSTACK_DISP0_8
   \   00000F   7402         MOV     A,#0x2
   \   000011   F0           MOVX    @DPTR,A
    381          	SendDataAddr.endPoint = SAMPLEAPP_ENDPOINT;
   \   000012   7403         MOV     A,#0x3
   \   000014   12....       LCALL   ?XSTACK_DISP0_8
   \   000017   7414         MOV     A,#0x14
   \   000019   F0           MOVX    @DPTR,A
    382          	SendDataAddr.addr.shortAddr = addr;
   \   00001A   85..82       MOV     DPL,?XSP + 0
   \   00001D   85..83       MOV     DPH,?XSP + 1
   \   000020   EC           MOV     A,R4
   \   000021   F0           MOVX    @DPTR,A
   \   000022   A3           INC     DPTR
   \   000023   ED           MOV     A,R5
   \   000024   F0           MOVX    @DPTR,A
    383                  if ( AF_DataRequest( &SendDataAddr, &SampleApp_epDesc,
    384                                 SAMPLEAPP_PERIODIC_CLUSTERID,
    385                                 Leng,
    386                                 buf,
    387                                 &SampleApp_TransID,
    388                                 AF_DISCV_ROUTE,
    389                                 AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
   \   000025                ; Setup parameters for call to function AF_DataRequest
   \   000025   75..0A       MOV     ?V0 + 0,#0xa
   \   000028   78..         MOV     R0,#?V0 + 0
   \   00002A   12....       LCALL   ?PUSH_XSTACK_I_ONE
   \   00002D   75....       MOV     ?V0 + 0,#(SampleApp_TransID & 0xff)
   \   000030   75....       MOV     ?V0 + 1,#((SampleApp_TransID >> 8) & 0xff)
   \   000033   78..         MOV     R0,#?V0 + 0
   \   000035   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000038   8A..         MOV     ?V0 + 0,R2
   \   00003A   8B..         MOV     ?V0 + 1,R3
   \   00003C   78..         MOV     R0,#?V0 + 0
   \   00003E   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000041   89..         MOV     ?V0 + 0,R1
   \   000043   75..00       MOV     ?V0 + 1,#0x0
   \   000046   78..         MOV     R0,#?V0 + 0
   \   000048   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   00004B   75..01       MOV     ?V0 + 0,#0x1
   \   00004E   78..         MOV     R0,#?V0 + 0
   \   000050   12....       LCALL   ?PUSH_XSTACK_I_TWO
   \   000053   7920         MOV     R1,#0x20
   \   000055   7C..         MOV     R4,#(SampleApp_epDesc & 0xff)
   \   000057   7D..         MOV     R5,#((SampleApp_epDesc >> 8) & 0xff)
   \   000059   7409         MOV     A,#0x9
   \   00005B   12....       LCALL   ?XSTACK_DISP0_8
   \   00005E   AA82         MOV     R2,DPL
   \   000060   AB83         MOV     R3,DPH
   \   000062   90....       MOV     DPTR,#(AF_DataRequest & 0xffff)
   \   000065   74..         MOV     A,#((AF_DataRequest >> 16) & 0xff)
   \   000067   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   00006A   7409         MOV     A,#0x9
   \   00006C   12....       LCALL   ?DEALLOC_XSTACK8
   \   00006F   E9           MOV     A,R1
   \   000070   7004         JNZ     ??SendData_0
    390          	{
    391          		return 1;
   \   000072   7901         MOV     R1,#0x1
   \   000074   8002         SJMP    ??SendData_1
    392          	}
    393          	else
    394          	{
    395          		return 0;// Error occurred in request to send.
   \                     ??SendData_0:
   \   000076   7900         MOV     R1,#0x0
   \                     ??SendData_1:
   \   000078   7404         MOV     A,#0x4
   \   00007A   02....       LJMP    ?Subroutine1 & 0xFFFF
    396          	}
    397          }
    398          
    399          /*********************************************************************
    400           * @fn      SampleApp_MessageMSGCB
    401           *
    402           * @brief   

⌨️ 快捷键说明

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