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

📄 genericapp.lst

📁 cc2430应用实例
💻 LST
📖 第 1 页 / 共 4 页
字号:
    256                        || (GenericApp_NwkState == DEV_END_DEVICE) )
   \   000024   6409         XRL     A,#0x9
   \   000026   600A         JZ      ??GenericApp_ProcessEvent_4
   \   000028   E0           MOVX    A,@DPTR
   \   000029   6407         XRL     A,#0x7
   \   00002B   6005         JZ      ??GenericApp_ProcessEvent_4
   \   00002D   E0           MOVX    A,@DPTR
   \   00002E   6406         XRL     A,#0x6
   \   000030   7010         JNZ     ??GenericApp_ProcessEvent_5
    257                    {
    258                      // Start sending "the" message in a regular interval.
    259                      osal_start_timer( GENERICAPP_SEND_MSG_EVT,
    260                                        GENERICAPP_SEND_MSG_TIMEOUT );
   \                     ??GenericApp_ProcessEvent_4:
   \   000032                ; Setup parameters for call to function osal_start_timer
   \   000032   7C88         MOV     R4,#-0x78
   \   000034   7D13         MOV     R5,#0x13
   \   000036   7A01         MOV     R2,#0x1
   \   000038   7B00         MOV     R3,#0x0
   \   00003A   90....       MOV     DPTR,#(osal_start_timer & 0xffff)
   \   00003D   74..         MOV     A,#((osal_start_timer >> 16) & 0xff)
   \                     ??GenericApp_ProcessEvent_6:
   \   00003F   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    261                    }
    262                    break;
    263          
    264                  default:
    265                    break;
    266                }
    267          
    268                // Release the memory
    269                osal_msg_deallocate( (uint8 *)MSGpkt );
   \                     ??GenericApp_ProcessEvent_5:
   \   000042                ; Setup parameters for call to function osal_msg_deallocate
   \   000042   AA..         MOV     R2,?V0 + 0
   \   000044   AB..         MOV     R3,?V0 + 1
   \   000046   90....       MOV     DPTR,#(osal_msg_deallocate & 0xffff)
   \   000049   74..         MOV     A,#((osal_msg_deallocate >> 16) & 0xff)
   \   00004B   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    270          
    271                // Next
    272                MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( GenericApp_TaskID );
   \   00004E                ; Setup parameters for call to function osal_msg_receive
   \                     ??GenericApp_ProcessEvent_2:
   \   00004E   90....       MOV     DPTR,#GenericApp_TaskID
   \   000051   E0           MOVX    A,@DPTR
   \   000052   F9           MOV     R1,A
   \   000053   90....       MOV     DPTR,#(osal_msg_receive & 0xffff)
   \   000056   74..         MOV     A,#((osal_msg_receive >> 16) & 0xff)
   \   000058   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
   \   00005B   8A..         MOV     ?V0 + 0,R2
   \   00005D   8B..         MOV     ?V0 + 1,R3
   \   00005F   E5..         MOV     A,?V0 + 0
   \   000061   7002         JNZ     ??GenericApp_ProcessEvent_7
   \   000063   E5..         MOV     A,?V0 + 1
   \                     ??GenericApp_ProcessEvent_7:
   \   000065   6071         JZ      ??GenericApp_ProcessEvent_8
   \   000067   85..82       MOV     DPL,?V0 + 0
   \   00006A   85..83       MOV     DPH,?V0 + 1
   \   00006D   E0           MOVX    A,@DPTR
   \   00006E   12....       LCALL   ?UC_SWITCH_SPARSE
   \                     `?<Jumptable for GenericApp_ProcessEvent>_0`:
   \   000071   00           DB        0
   \   000072   03           DB        3
   \   000073   C0           DB        192
   \   000074   ....         DW        ??GenericApp_ProcessEvent_9
   \   000076   D0           DB        208
   \   000077   ....         DW        ??GenericApp_ProcessEvent_10
   \   000079   D1           DB        209
   \   00007A   ....         DW        ??GenericApp_ProcessEvent_3
   \   00007C   ....         DW        ??GenericApp_ProcessEvent_5
   \                     ??GenericApp_ProcessEvent_9:
   \   00007E                ; Setup parameters for call to function GenericApp_HandleKeys
   \   00007E   85..82       MOV     DPL,?V0 + 0
   \   000081   85..83       MOV     DPH,?V0 + 1
   \   000084   A3           INC     DPTR
   \   000085   A3           INC     DPTR
   \   000086   A3           INC     DPTR
   \   000087   E0           MOVX    A,@DPTR
   \   000088   FA           MOV     R2,A
   \   000089   85..82       MOV     DPL,?V0 + 0
   \   00008C   85..83       MOV     DPH,?V0 + 1
   \   00008F   A3           INC     DPTR
   \   000090   A3           INC     DPTR
   \   000091   E0           MOVX    A,@DPTR
   \   000092   F9           MOV     R1,A
   \   000093   90....       MOV     DPTR,#(GenericApp_HandleKeys & 0xffff)
   \   000096   74..         MOV     A,#((GenericApp_HandleKeys >> 16) & 0xff)
   \   000098   80A5         SJMP    ??GenericApp_ProcessEvent_6
   \                     ??GenericApp_ProcessEvent_10:
   \   00009A   85..82       MOV     DPL,?V0 + 0
   \   00009D   85..83       MOV     DPH,?V0 + 1
   \   0000A0   A3           INC     DPTR
   \   0000A1   A3           INC     DPTR
   \   0000A2   E0           MOVX    A,@DPTR
   \   0000A3   FA           MOV     R2,A
   \   0000A4   E5..         MOV     A,?V0 + 0
   \   0000A6   2403         ADD     A,#0x3
   \   0000A8   F8           MOV     R0,A
   \   0000A9   E5..         MOV     A,?V0 + 1
   \   0000AB   3400         ADDC    A,#0x0
   \   0000AD   F9           MOV     R1,A
   \   0000AE   8882         MOV     DPL,R0
   \   0000B0   8983         MOV     DPH,R1
   \   0000B2   A3           INC     DPTR
   \   0000B3   A3           INC     DPTR
   \   0000B4   A3           INC     DPTR
   \   0000B5   A3           INC     DPTR
   \   0000B6   A3           INC     DPTR
   \   0000B7   A3           INC     DPTR
   \   0000B8   A3           INC     DPTR
   \   0000B9   A3           INC     DPTR
   \   0000BA   E0           MOVX    A,@DPTR
   \   0000BB   90....       MOV     DPTR,#(GenericApp_DstAddr + 2)
   \   0000BE   F0           MOVX    @DPTR,A
   \   0000BF   EA           MOV     A,R2
   \   0000C0   90....       MOV     DPTR,#(GenericApp_DstAddr + 3)
   \   0000C3   F0           MOVX    @DPTR,A
   \   0000C4   8882         MOV     DPL,R0
   \   0000C6   8983         MOV     DPH,R1
   \   0000C8   E0           MOVX    A,@DPTR
   \   0000C9   F8           MOV     R0,A
   \   0000CA   A3           INC     DPTR
   \   0000CB   E0           MOVX    A,@DPTR
   \   0000CC   F9           MOV     R1,A
   \   0000CD   90....       MOV     DPTR,#GenericApp_DstAddr
   \   0000D0   E8           MOV     A,R0
   \   0000D1   F0           MOVX    @DPTR,A
   \   0000D2   A3           INC     DPTR
   \   0000D3   E9           MOV     A,R1
   \   0000D4   F0           MOVX    @DPTR,A
   \   0000D5   02....       LJMP    ??GenericApp_ProcessEvent_5 & 0xFFFF
    273              }
    274          
    275              // return unprocessed events
    276              return (events ^ SYS_EVENT_MSG);
   \                     ??GenericApp_ProcessEvent_8:
   \   0000D8   EE           MOV     A,R6
   \   0000D9   FA           MOV     R2,A
   \   0000DA   7480         MOV     A,#-0x80
   \   0000DC   6F           XRL     A,R7
   \                     ??GenericApp_ProcessEvent_11:
   \   0000DD   FB           MOV     R3,A
   \   0000DE   8028         SJMP    ??GenericApp_ProcessEvent_12
    277            }
    278          
    279            // Send a message out - This event is generated by a timer
    280            //  (setup in GenericApp_Init()).
    281            if ( events & GENERICAPP_SEND_MSG_EVT )
   \                     ??GenericApp_ProcessEvent_1:
   \   0000E0   EE           MOV     A,R6
   \   0000E1   A2E0         MOV     C,0xE0 /* A   */.0
   \   0000E3   501F         JNC     ??GenericApp_ProcessEvent_13
    282            {
    283              // Send "the" message
    284              GenericApp_SendTheMessage();
   \   0000E5                ; Setup parameters for call to function GenericApp_SendTheMessage
   \   0000E5   90....       MOV     DPTR,#(GenericApp_SendTheMessage & 0xffff)
   \   0000E8   74..         MOV     A,#((GenericApp_SendTheMessage >> 16) & 0xff)
   \   0000EA   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    285          
    286              // Setup to send message again
    287              osal_start_timer( GENERICAPP_SEND_MSG_EVT,
    288                                GENERICAPP_SEND_MSG_TIMEOUT );
   \   0000ED                ; Setup parameters for call to function osal_start_timer
   \   0000ED   7C88         MOV     R4,#-0x78
   \   0000EF   7D13         MOV     R5,#0x13
   \   0000F1   7A01         MOV     R2,#0x1
   \   0000F3   7B00         MOV     R3,#0x0
   \   0000F5   90....       MOV     DPTR,#(osal_start_timer & 0xffff)
   \   0000F8   74..         MOV     A,#((osal_start_timer >> 16) & 0xff)
   \   0000FA   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    289          
    290              // return unprocessed events
    291              return (events ^ GENERICAPP_SEND_MSG_EVT);
   \   0000FD   7401         MOV     A,#0x1
   \   0000FF   6E           XRL     A,R6
   \   000100   FA           MOV     R2,A
   \   000101   EF           MOV     A,R7
   \   000102   80D9         SJMP    ??GenericApp_ProcessEvent_11
    292            }
    293          
    294            // Discard unknown events
    295            return 0;
   \                     ??GenericApp_ProcessEvent_13:
   \   000104   7A00         MOV     R2,#0x0
   \   000106   7B00         MOV     R3,#0x0
   \                     ??GenericApp_ProcessEvent_12:
   \   000108   7F04         MOV     R7,#0x4
   \   00010A   02....       LJMP    ?BANKED_LEAVE_XDATA
    296          }
    297          
    298          /*********************************************************************
    299           * Event Generation Functions
    300           */
    301          /*********************************************************************
    302           * @fn      GenericApp_HandleKeys
    303           *
    304           * @brief   Handles all key events for this device.
    305           *
    306           * @param   shift - true if in shift/alt.
    307           * @param   keys - bit field for key events. Valid entries:
    308           *                 HAL_KEY_SW_4
    309           *                 HAL_KEY_SW_3
    310           *                 HAL_KEY_SW_2
    311           *                 HAL_KEY_SW_1
    312           *
    313           * @return  none
    314           */

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    315          void GenericApp_HandleKeys( byte shift, byte keys )
   \                     GenericApp_HandleKeys:
    316          {
   \   000000   74F7         MOV     A,#-0x9
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 9
   \   000005                ; Auto size: 0
   \   000005   EA           MOV     A,R2
   \   000006   FE           MOV     R6,A
    317            // Shift is used to make each button/switch dual purpose.
    318            if ( shift )
   \   000007   E9           MOV     A,R1
   \   000008   7028         JNZ     ??GenericApp_HandleKeys_0
    319            {
    320              if ( keys & HAL_KEY_SW_1 )
    321              {
    322              }
    323              if ( keys & HAL_KEY_SW_2 )
    324              {
    325              }
    326              if ( keys & HAL_KEY_SW_3 )
    327              {
    328              }
    329              if ( keys & HAL_KEY_SW_4 )
    330              {
    331              }
    332            }
    333            else
    334            {
    335              if ( keys & HAL_KEY_SW_1 )
    336              {
    337              }
    338          
    339              if ( keys & HAL_KEY_SW_2 )
   \   00000A   EE           MOV     A,R6
   \   00000B   A2E1         MOV     C,0xE0 /* A   */.1
   \   00000D   500D         JNC     ??GenericApp_HandleKeys_1
    340              {
    341                // Initiate an End Device Bind Request for the mandatory endpoint
    342                ZDApp_SendEndDeviceBindReq( GenericApp_epDesc.endPoint );
   \   00000F                ; Setup parameters for call to function ZDApp_SendEndDeviceBindReq
   \   00000F   90....       MOV     DPTR,#GenericApp_epDesc
   \   000012   E0           MOVX    A,@DPTR
   \   000013   F9           MOV     R1,A
   \   000014   90....       MOV     DPTR,#(ZDApp_SendEndDeviceBindReq & 0xffff)

⌨️ 快捷键说明

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