spimgr.s51

来自「TI的基于ZIGBEE2006的协议栈」· S51 代码 · 共 1,526 行 · 第 1/5 页

S51
1,526
字号
        CFI `B.BR0` SameValue
        CFI `B.BR1` SameValue
        CFI `B.BR2` SameValue
        CFI `B.BR3` SameValue
        CFI `B.BR4` SameValue
        CFI `B.BR5` SameValue
        CFI `B.BR6` SameValue
        CFI `B.BR7` SameValue
        CFI `VB.BR8` SameValue
        CFI `VB.BR9` SameValue
        CFI `VB.BR10` SameValue
        CFI `VB.BR11` SameValue
        CFI `VB.BR12` SameValue
        CFI `VB.BR13` SameValue
        CFI `VB.BR14` SameValue
        CFI `VB.BR15` SameValue
        CFI VB SameValue
        CFI B SameValue
        CFI A SameValue
        CFI PSW SameValue
        CFI DPL0 SameValue
        CFI DPH0 SameValue
        CFI R0 SameValue
        CFI R1 SameValue
        CFI R2 SameValue
        CFI R3 SameValue
        CFI R4 SameValue
        CFI R5 SameValue
        CFI R6 SameValue
        CFI R7 SameValue
        CFI V0 SameValue
        CFI V1 SameValue
        CFI V2 SameValue
        CFI V3 SameValue
        CFI V4 SameValue
        CFI V5 SameValue
        CFI V6 SameValue
        CFI V7 SameValue
        CFI PSPH Undefined
        CFI PSPL Undefined
        CFI XSPH Undefined
        CFI XSPL Undefined
        CFI ?RET Concat
        CFI ?BRET_EXT SameValue
        CFI ?RET_HIGH Frame(CFA_SP, 2)
        CFI ?RET_LOW Frame(CFA_SP, 1)
        CFI EndCommon cfiCommon1
        
        EXTERN HalUARTOpen
        FUNCTION HalUARTOpen,0202H
        ARGFRAME ISTACK, 2, STACK
        ARGFRAME XSTACK, 30, STACK
        EXTERN Hal_UART_RxBufLen
        FUNCTION Hal_UART_RxBufLen,0202H
        ARGFRAME XSTACK, 11, STACK
        EXTERN HalUARTRead
        FUNCTION HalUARTRead,0202H
        ARGFRAME XSTACK, 11, STACK
        EXTERN osal_msg_allocate
        FUNCTION osal_msg_allocate,0202H
        ARGFRAME XSTACK, 11, STACK
        EXTERN osal_msg_send
        FUNCTION osal_msg_send,0202H
        ARGFRAME XSTACK, 11, STACK
        EXTERN osal_msg_deallocate
        FUNCTION osal_msg_deallocate,0202H
        ARGFRAME XSTACK, 11, STACK
        EXTERN MT_TaskID

// C:\Texas Instruments\ZStack-1.4.2\Components\mt\SPIMgr.c
//    1 /***************************************************************************************************
//    2     Filename:       SPIMgr.c
//    3     Revised:        $Date: 2006-10-09 17:35:06 -0700 (Mon, 09 Oct 2006) $
//    4     Revision:       $Revision: 12239 $
//    5 
//    6     Description:
//    7        This module handles anything dealing with the serial port.
//    8 
//    9     Copyright (c) 2006 by Texas Instruments, Inc.
//   10     All Rights Reserved.  Permission to use, reproduce, copy, prepare
//   11     derivative works, modify, distribute, perform, display or sell this
//   12     software and/or its documentation for any purpose is prohibited
//   13     without the express written consent of Texas Instruments, Inc.
//   14 ***************************************************************************************************/
//   15 
//   16 
//   17 /***************************************************************************************************
//   18  *                                           INCLUDES
//   19  ***************************************************************************************************/
//   20 #include "ZComDef.h"
//   21 #include "OSAL.h"
//   22 #include "hal_uart.h"
//   23 #include "MTEL.h"
//   24 #include "SPIMgr.h"
//   25 #include "OSAL_Memory.h"
//   26 
//   27 
//   28 /***************************************************************************************************
//   29  *                                            MACROS
//   30  ***************************************************************************************************/
//   31 
//   32 /***************************************************************************************************
//   33  *                                           CONSTANTS
//   34  ***************************************************************************************************/
//   35 
//   36 /* State values for ZTool protocal */
//   37 #define SOP_STATE      0x00
//   38 #define CMD_STATE1     0x01
//   39 #define CMD_STATE2     0x02
//   40 #define LEN_STATE      0x03
//   41 #define DATA_STATE     0x04
//   42 #define FCS_STATE      0x05
//   43 
//   44 /***************************************************************************************************
//   45  *                                            TYPEDEFS
//   46  ***************************************************************************************************/
//   47 
//   48 /***************************************************************************************************
//   49  *                                         GLOBAL VARIABLES
//   50  ***************************************************************************************************/

        RSEG XDATA_Z:XDATA:NOROOT(0)
        REQUIRE __INIT_XDATA_Z
//   51 byte App_TaskID;
App_TaskID:
        DS 1
//   52 
//   53 /* ZTool protocal parameters */
//   54 
//   55 #if defined (ZTOOL_P1) || defined (ZTOOL_P2)

        RSEG XDATA_Z:XDATA:NOROOT(0)
        REQUIRE __INIT_XDATA_Z
//   56 uint8 state;
state:
        DS 1

        RSEG XDATA_Z:XDATA:NOROOT(0)
        REQUIRE __INIT_XDATA_Z
//   57 uint8  CMD_Token[2];
CMD_Token:
        DS 2

        RSEG XDATA_Z:XDATA:NOROOT(0)
        REQUIRE __INIT_XDATA_Z
//   58 uint8  LEN_Token;
LEN_Token:
        DS 1

        RSEG XDATA_Z:XDATA:NOROOT(0)
        REQUIRE __INIT_XDATA_Z
//   59 uint8  FSC_Token;
FSC_Token:
        DS 1

        RSEG XDATA_Z:XDATA:NOROOT(0)
        REQUIRE __INIT_XDATA_Z
//   60 mtOSALSerialData_t  *SPI_Msg;
SPI_Msg:
        DS 2

        RSEG XDATA_Z:XDATA:NOROOT(0)
        REQUIRE __INIT_XDATA_Z
//   61 uint8  tempDataLen;
tempDataLen:
        DS 1
//   62 #endif //ZTOOL
//   63 
//   64 #if defined (ZAPP_P1) || defined (ZAPP_P2)
//   65 uint16  SPIMgr_MaxZAppBufLen;
//   66 bool    SPIMgr_ZAppRxStatus;
//   67 #endif
//   68 
//   69 
//   70 /***************************************************************************************************
//   71  *                                          LOCAL FUNCTIONS
//   72  ***************************************************************************************************/
//   73 
//   74 /***************************************************************************************************
//   75  * @fn      SPIMgr_Init
//   76  *
//   77  * @brief
//   78  *
//   79  * @param   None
//   80  *
//   81  * @return  None
//   82 ***************************************************************************************************/

        RSEG BANKED_CODE:CODE:NOROOT(0)
//   83 void SPIMgr_Init ()
SPIMgr_Init:
        CFI Block cfiBlock0 Using cfiCommon0
        CFI Function SPIMgr_Init
//   84 {
        FUNCALL SPIMgr_Init, HalUARTOpen
        LOCFRAME ISTACK, 2, STACK
        LOCFRAME XSTACK, 30, STACK
        ARGFRAME ISTACK, 2, STACK
        ARGFRAME XSTACK, 30, STACK
        PUSH	DPL
        CFI DPL0 Frame(CFA_SP, 4)
        CFI CFA_SP SP+-4
        PUSH	DPH
        CFI DPH0 Frame(CFA_SP, 5)
        CFI CFA_SP SP+-5
        ; Saved register size: 2
        ; Auto size: 30
        MOV	A,#-0x1e
        LCALL	?ALLOC_XSTACK8
        CFI CFA_XSP16 add(XSP16, 30)
//   85   halUARTCfg_t uartConfig;
//   86 
//   87   /* Initialize APP ID */
//   88   App_TaskID = 0;
        CLR	A
        MOV	DPTR,#App_TaskID
        MOVX	@DPTR,A
//   89 
//   90   /* UART Configuration */
//   91   uartConfig.configured           = TRUE;
        MOV	A,#0x1
        MOV	DPL,?XSP + 0
        MOV	DPH,?XSP + 1
        MOVX	@DPTR,A
//   92   uartConfig.baudRate             = SPI_MGR_DEFAULT_BAUDRATE;
        LCALL	?XSTACK_DISP0_8
        MOV	A,#0x6
        MOVX	@DPTR,A
//   93   uartConfig.flowControl          = SPI_MGR_DEFAULT_OVERFLOW;
        MOV	A,#0x2
        LCALL	?XSTACK_DISP0_8
        CLR	A
        MOVX	@DPTR,A
//   94   uartConfig.flowControlThreshold = SPI_MGR_DEFAULT_THRESHOLD;
        MOV	A,#0x3
        LCALL	?XSTACK_DISP0_8
        MOV	A,#0x30
        MOVX	@DPTR,A
        INC	DPTR
        CLR	A
        MOVX	@DPTR,A
//   95   uartConfig.rx.maxBufSize        = SPI_MGR_DEFAULT_MAX_RX_BUFF;
        MOV	A,#0xa
        LCALL	?XSTACK_DISP0_8
        MOV	A,#-0x80
        MOVX	@DPTR,A
        INC	DPTR
        CLR	A
        MOVX	@DPTR,A
//   96   uartConfig.tx.maxBufSize        = SPI_MGR_DEFAULT_MAX_TX_BUFF;
        MOV	A,#0x12
        LCALL	?XSTACK_DISP0_8
        MOV	A,#-0x80
        MOVX	@DPTR,A
        INC	DPTR
        CLR	A
        MOVX	@DPTR,A
//   97   uartConfig.idleTimeout          = SPI_MGR_DEFAULT_IDLE_TIMEOUT;
        MOV	A,#0x5
        LCALL	?XSTACK_DISP0_8
        MOV	A,#0x6
        MOVX	@DPTR,A
//   98   uartConfig.intEnable            = TRUE;
        MOV	A,#0x16
        LCALL	?XSTACK_DISP0_8
        MOV	A,#0x1
        MOVX	@DPTR,A
//   99 #if defined (ZTOOL_P1) || defined (ZTOOL_P2)
//  100   uartConfig.callBackFunc         = SPIMgr_ProcessZToolData;
        MOV	A,#0x1b
        LCALL	?XSTACK_DISP0_8
        MOV	A,#(SPIMgr_ProcessZToolData & 0xff)
        MOVX	@DPTR,A
        INC	DPTR
        MOV	A,#((SPIMgr_ProcessZToolData >> 8) & 0xff)
        MOVX	@DPTR,A
        INC	DPTR
        MOV	A,#((SPIMgr_ProcessZToolData >> 16) & 0xff)
        MOVX	@DPTR,A
//  101 #elif defined (ZAPP_P1) || defined (ZAPP_P2)
//  102   uartConfig.callBackFunc         = SPIMgr_ProcessZAppData;
//  103 #else
//  104   uartConfig.callBackFunc         = NULL;
//  105 #endif
//  106 
//  107   /* Start UART */
//  108 #if defined (SPI_MGR_DEFAULT_PORT)
//  109   HalUARTOpen (SPI_MGR_DEFAULT_PORT, &uartConfig);
        ; Setup parameters for call to function HalUARTOpen
        MOV	DPL,?XSP + 0
        MOV	DPH,?XSP + 1
        MOV	R2,DPL
        MOV	R3,DPH
        MOV	R1,#0x0
        MOV	DPTR,#(HalUARTOpen & 0xffff)
        MOV	A,#((HalUARTOpen >> 16) & 0xff)
        LCALL	?BCALL               ; Banked call to: DPTR()
//  110 #else
//  111   /* Silence IAR compiler warning */
//  112   (void)uartConfig;
//  113 #endif
//  114 
//  115   /* Initialize for ZApp */
//  116 #if defined (ZAPP_P1) || defined (ZAPP_P2)
//  117   /* Default max bytes that ZAPP can take */
//  118   SPIMgr_MaxZAppBufLen  = 1;

⌨️ 快捷键说明

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