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

📄 spimgr.lst

📁 cc2430讀取短地址程式
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   000010   85..82       MOV     DPL,?XSP + 0
   \   000013   85..83       MOV     DPH,?XSP + 1
   \   000016   F0           MOVX    @DPTR,A
     93            uartConfig.baudRate             = SPI_MGR_DEFAULT_BAUDRATE;
   \   000017   12....       LCALL   ?XSTACK_DISP0_8
   \   00001A   7406         MOV     A,#0x6
   \   00001C   F0           MOVX    @DPTR,A
     94            uartConfig.flowControl          = SPI_MGR_DEFAULT_OVERFLOW;
   \   00001D   7402         MOV     A,#0x2
   \   00001F   12....       LCALL   ?XSTACK_DISP0_8
   \   000022   E4           CLR     A
   \   000023   F0           MOVX    @DPTR,A
     95            uartConfig.flowControlThreshold = SPI_MGR_DEFAULT_THRESHOLD;
   \   000024   7403         MOV     A,#0x3
   \   000026   12....       LCALL   ?XSTACK_DISP0_8
   \   000029   7430         MOV     A,#0x30
   \   00002B   F0           MOVX    @DPTR,A
   \   00002C   A3           INC     DPTR
   \   00002D   E4           CLR     A
   \   00002E   F0           MOVX    @DPTR,A
     96            uartConfig.rx.maxBufSize        = SPI_MGR_DEFAULT_MAX_RX_BUFF;
   \   00002F   740A         MOV     A,#0xa
   \   000031   12....       LCALL   ?XSTACK_DISP0_8
   \   000034   7480         MOV     A,#-0x80
   \   000036   F0           MOVX    @DPTR,A
   \   000037   A3           INC     DPTR
   \   000038   E4           CLR     A
   \   000039   F0           MOVX    @DPTR,A
     97            uartConfig.tx.maxBufSize        = SPI_MGR_DEFAULT_MAX_TX_BUFF;
   \   00003A   7412         MOV     A,#0x12
   \   00003C   12....       LCALL   ?XSTACK_DISP0_8
   \   00003F   7480         MOV     A,#-0x80
   \   000041   F0           MOVX    @DPTR,A
   \   000042   A3           INC     DPTR
   \   000043   E4           CLR     A
   \   000044   F0           MOVX    @DPTR,A
     98            uartConfig.idleTimeout          = SPI_MGR_DEFAULT_IDLE_TIMEOUT;
   \   000045   7405         MOV     A,#0x5
   \   000047   12....       LCALL   ?XSTACK_DISP0_8
   \   00004A   7406         MOV     A,#0x6
   \   00004C   F0           MOVX    @DPTR,A
     99            uartConfig.intEnable            = TRUE;
   \   00004D   7416         MOV     A,#0x16
   \   00004F   12....       LCALL   ?XSTACK_DISP0_8
   \   000052   7401         MOV     A,#0x1
   \   000054   F0           MOVX    @DPTR,A
    100          #if defined (ZTOOL_P1) || defined (ZTOOL_P2)
    101            uartConfig.callBackFunc         = SPIMgr_ProcessZToolData;
   \   000055   741B         MOV     A,#0x1b
   \   000057   12....       LCALL   ?XSTACK_DISP0_8
   \   00005A   74..         MOV     A,#(SPIMgr_ProcessZToolData & 0xff)
   \   00005C   F0           MOVX    @DPTR,A
   \   00005D   A3           INC     DPTR
   \   00005E   74..         MOV     A,#((SPIMgr_ProcessZToolData >> 8) & 0xff)
   \   000060   F0           MOVX    @DPTR,A
   \   000061   A3           INC     DPTR
   \   000062   74..         MOV     A,#((SPIMgr_ProcessZToolData >> 16) & 0xff)
   \   000064   F0           MOVX    @DPTR,A
    102          #elif defined (ZAPP_P1) || defined (ZAPP_P2)
    103            uartConfig.callBackFunc         = SPIMgr_ProcessZAppData;
    104          #else
    105            uartConfig.callBackFunc         = NULL;
    106          #endif
    107          
    108            /* Start UART */
    109          #if defined (SPI_MGR_DEFAULT_PORT)
    110            HalUARTOpen (SPI_MGR_DEFAULT_PORT, &uartConfig);
   \   000065                ; Setup parameters for call to function HalUARTOpen
   \   000065   85..82       MOV     DPL,?XSP + 0
   \   000068   85..83       MOV     DPH,?XSP + 1
   \   00006B   AA82         MOV     R2,DPL
   \   00006D   AB83         MOV     R3,DPH
   \   00006F   7900         MOV     R1,#0x0
   \   000071   90....       MOV     DPTR,#(HalUARTOpen & 0xffff)
   \   000074   74..         MOV     A,#((HalUARTOpen >> 16) & 0xff)
   \   000076   12....       LCALL   ?BCALL               ; Banked call to: DPTR()
    111          #else
    112            /* Silence IAR compiler warning */
    113            (void)uartConfig;
    114          #endif
    115          
    116            /* Initialize for ZApp */
    117          #if defined (ZAPP_P1) || defined (ZAPP_P2)
    118            /* Default max bytes that ZAPP can take */
    119            SPIMgr_MaxZAppBufLen  = 1;
    120            SPIMgr_ZAppRxStatus   = SPI_MGR_ZAPP_RX_READY;
    121          #endif
    122          
    123          
    124          }
   \   000079   741E         MOV     A,#0x1e
   \   00007B   12....       LCALL   ?DEALLOC_XSTACK8
   \   00007E                REQUIRE ?Subroutine5
   \   00007E                ; // Fall through to label ?Subroutine5

   \                                 In segment BANKED_CODE, align 1, keep-with-next
   \                     ?Subroutine5:
   \   000000   D083         POP     DPH
   \   000002   D082         POP     DPL
   \   000004   02....       LJMP    ?BRET
    125          
    126          /***************************************************************************************************
    127           * @fn      MT_SerialRegisterTaskID
    128           *
    129           * @brief
    130           *
    131           *   This function registers the taskID of the application so it knows
    132           *   where to send the messages whent they come in.
    133           *
    134           * @param   void
    135           *
    136           * @return  void
    137           ***************************************************************************************************/

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    138          void SPIMgr_RegisterTaskID( byte taskID )
   \                     SPIMgr_RegisterTaskID:
    139          {
   \   000000   C082         PUSH    DPL
   \   000002   C083         PUSH    DPH
   \   000004                ; Saved register size: 2
   \   000004                ; Auto size: 0
    140            App_TaskID = taskID;
   \   000004   E9           MOV     A,R1
   \   000005   90....       MOV     DPTR,#App_TaskID
   \   000008   F0           MOVX    @DPTR,A
    141          }
   \   000009   80..         SJMP    ?Subroutine5
    142          
    143          /***************************************************************************************************
    144           * @fn      SPIMgr_CalcFCS
    145           *
    146           * @brief
    147           *
    148           *   Calculate the FCS of a message buffer by XOR'ing each byte.
    149           *   Remember to NOT include SOP and FCS fields, so start at the CMD
    150           *   field.
    151           *
    152           * @param   byte *msg_ptr - message pointer
    153           * @param   byte len - length (in bytes) of message
    154           *
    155           * @return  result byte
    156           ***************************************************************************************************/

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    157          byte SPIMgr_CalcFCS( uint8 *msg_ptr, uint8 len )
   \                     SPIMgr_CalcFCS:
    158          {
   \   000000   74F7         MOV     A,#-0x9
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 9
   \   000005                ; Auto size: 0
   \   000005   E9           MOV     A,R1
   \   000006   FC           MOV     R4,A
    159            byte x;
    160            byte xorResult;
    161          
    162            xorResult = 0;
   \   000007   7900         MOV     R1,#0x0
    163          
    164            for ( x = 0; x < len; x++, msg_ptr++ )
   \   000009   7D00         MOV     R5,#0x0
   \   00000B   800E         SJMP    ??SPIMgr_CalcFCS_0
    165              xorResult = xorResult ^ *msg_ptr;
   \                     ??SPIMgr_CalcFCS_1:
   \   00000D   8A82         MOV     DPL,R2
   \   00000F   8B83         MOV     DPH,R3
   \   000011   E0           MOVX    A,@DPTR
   \   000012   C9           XCH     A,R1
   \   000013   69           XRL     A,R1
   \   000014   F9           MOV     R1,A
   \   000015   0D           INC     R5
   \   000016   A3           INC     DPTR
   \   000017   AA82         MOV     R2,DPL
   \   000019   AB83         MOV     R3,DPH
   \                     ??SPIMgr_CalcFCS_0:
   \   00001B   ED           MOV     A,R5
   \   00001C   C3           CLR     C
   \   00001D   9C           SUBB    A,R4
   \   00001E   40ED         JC      ??SPIMgr_CalcFCS_1
    166          
    167            return ( xorResult );
   \   000020   7F01         MOV     R7,#0x1
   \   000022   02....       LJMP    ?BANKED_LEAVE_XDATA
    168          }
    169          
    170          
    171          #if defined (ZTOOL_P1) || defined (ZTOOL_P2)
    172          /***************************************************************************************************
    173           * @fn      SPIMgr_ProcessZToolRxData
    174           *
    175           * @brief   | SOP | CMD  |   Data Length   | FSC  |
    176           *          |  1  |  2   |       1         |  1   |
    177           *
    178           *          Parses the data and determine either is SPI or just simply serial data
    179           *          then send the data to correct place (MT or APP)
    180           *
    181           * @param   pBuffer  - pointer to the buffer that contains the data
    182           *          length   - length of the buffer
    183           *
    184           *
    185           * @return  None
    186           ***************************************************************************************************/

   \                                 In segment BANKED_CODE, align 1, keep-with-next
    187          void SPIMgr_ProcessZToolData ( uint8 port, uint8 event )
   \                     SPIMgr_ProcessZToolData:
    188          {
   \   000000   74F6         MOV     A,#-0xa
   \   000002   12....       LCALL   ?BANKED_ENTER_XDATA
   \   000005                ; Saved register size: 10
   \   000005                ; Auto size: 5
   \   000005   74FB         MOV     A,#-0x5
   \   000007   12....       LCALL   ?ALLOC_XSTACK8
    189            uint8  ch;
    190          uint8  temp[5];
    191          unsigned int tt;
    192            /* Verify events */
    193            if (event == HAL_UART_TX_FULL)
   \   00000A   7408         MOV     A,#0x8
   \   00000C   6A           XRL     A,R2
   \   00000D   6005         JZ      ??SPIMgr_ProcessZToolData_0
    194            {
    195              // Do something when TX if full
    196              return;
    197            }
    198            if (event & (HAL_UART_RX_FULL | HAL_UART_RX_ABOUT_FULL | HAL_UART_RX_TIMEOUT))
   \   00000F   7407         MOV     A,#0x7
   \   000011   5A           ANL     A,R2
   \   000012   7015         JNZ     ??SPIMgr_ProcessZToolData_1
   \                     ??SPIMgr_ProcessZToolData_0:
   \   000014   7405         MOV     A,#0x5
   \   000016   12....       LCALL   ?DEALLOC_XSTACK8
   \   000019   7F02         MOV     R7,#0x2
   \   00001B   02....       LJMP    ?BANKED_LEAVE_XDATA
    199            {
    200              while (Hal_UART_RxBufLen(SPI_MGR_DEFAULT_PORT))
    201              {
    202                HalUARTRead (SPI_MGR_DEFAULT_PORT, temp, 4);
    203                tt = (unsigned int)temp[0];
    204                tt = (tt<<8)&0xff00;
    205                tt |= temp[1];
    206                SendData(&temp[2],tt,2);
    207                switch (state)
    208                {
    209                  case SOP_STATE:
    210                    if (ch == SOP_VALUE)
    211                      state = CMD_STATE1;
    212                    break;
    213          
    214                  case CMD_STATE1:
    215                    CMD_Token[0] = ch;
   \                     ??SPIMgr_ProcessZToolData_2:
   \   00001E   EE           MOV     A,R6
   \   00001F   90....       MOV     DPTR,#CMD_Token
   \   000022   F0           MOVX    @DPTR,A
    216                    state = CMD_STATE2;
   \   000023   7402         MOV     A,#0x2
   \                     ??SPIMgr_ProcessZToolData_3:
   \   000025   90....       MOV     DPTR,#state
   \                     ??SPIMgr_ProcessZToolData_4:
   \   000028   F0           MOVX    @DPTR,A
   \                     ??SPIMgr_ProcessZToolData_1:
   \   000029                ; Setup parameters for call to function Hal_UART_RxBufLen
   \   000029   7900         MOV     R1,#0x0

⌨️ 快捷键说明

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