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

📄 spimgr.s51

📁 cc2430讀取短地址程式
💻 S51
📖 第 1 页 / 共 5 页
字号:
        ARGFRAME ISTACK, 2, STACK
        ARGFRAME XSTACK, 30, STACK
        EXTERN Hal_UART_RxBufLen
        FUNCTION Hal_UART_RxBufLen,0202H
        ARGFRAME XSTACK, 15, STACK
        EXTERN HalUARTRead
        FUNCTION HalUARTRead,0202H
        ARGFRAME XSTACK, 15, STACK
        EXTERN SendData
        FUNCTION SendData,0202H
        ARGFRAME XSTACK, 15, STACK
        EXTERN osal_msg_allocate
        FUNCTION osal_msg_allocate,0202H
        ARGFRAME XSTACK, 15, STACK
        EXTERN osal_msg_send
        FUNCTION osal_msg_send,0202H
        ARGFRAME XSTACK, 15, STACK
        EXTERN osal_msg_deallocate
        FUNCTION osal_msg_deallocate,0202H
        ARGFRAME XSTACK, 15, 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 #define UINT8 unsigned char
//   27 UINT8 SendData(UINT8 *buf, UINT16 addr, UINT8 Leng);
//   28 
//   29 /***************************************************************************************************
//   30  *                                            MACROS
//   31  ***************************************************************************************************/
//   32 
//   33 /***************************************************************************************************
//   34  *                                           CONSTANTS
//   35  ***************************************************************************************************/
//   36 
//   37 /* State values for ZTool protocal */
//   38 #define SOP_STATE      0x00
//   39 #define CMD_STATE1     0x01
//   40 #define CMD_STATE2     0x02
//   41 #define LEN_STATE      0x03
//   42 #define DATA_STATE     0x04
//   43 #define FCS_STATE      0x05
//   44 
//   45 /***************************************************************************************************
//   46  *                                            TYPEDEFS
//   47  ***************************************************************************************************/
//   48 
//   49 /***************************************************************************************************
//   50  *                                         GLOBAL VARIABLES
//   51  ***************************************************************************************************/

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

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

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

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

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

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

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

        RSEG BANKED_CODE:CODE:NOROOT(0)
//   84 void SPIMgr_Init ()
SPIMgr_Init:
        CFI Block cfiBlock0 Using cfiCommon0
        CFI Function SPIMgr_Init
//   85 {
        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)
//   86   halUARTCfg_t uartConfig;
//   87 
//   88   /* Initialize APP ID */
//   89   App_TaskID = 0;
        CLR	A
        MOV	DPTR,#App_TaskID
        MOVX	@DPTR,A
//   90 
//   91   /* UART Configuration */
//   92   uartConfig.configured           = TRUE;
        MOV	A,#0x1
        MOV	DPL,?XSP + 0
        MOV	DPH,?XSP + 1
        MOVX	@DPTR,A
//   93   uartConfig.baudRate             = SPI_MGR_DEFAULT_BAUDRATE;
        LCALL	?XSTACK_DISP0_8
        MOV	A,#0x6
        MOVX	@DPTR,A
//   94   uartConfig.flowControl          = SPI_MGR_DEFAULT_OVERFLOW;
        MOV	A,#0x2
        LCALL	?XSTACK_DISP0_8
        CLR	A
        MOVX	@DPTR,A
//   95   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
//   96   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
//   97   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
//   98   uartConfig.idleTimeout          = SPI_MGR_DEFAULT_IDLE_TIMEOUT;
        MOV	A,#0x5
        LCALL	?XSTACK_DISP0_8
        MOV	A,#0x6
        MOVX	@DPTR,A
//   99   uartConfig.intEnable            = TRUE;
        MOV	A,#0x16
        LCALL	?XSTACK_DISP0_8
        MOV	A,#0x1
        MOVX	@DPTR,A
//  100 #if defined (ZTOOL_P1) || defined (ZTOOL_P2)
//  101   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
//  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);
        ; 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()
//  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 }
        MOV	A,#0x1e
        LCALL	?DEALLOC_XSTACK8
        CFI EndBlock cfiBlock0
        REQUIRE ?Subroutine5
        ; // Fall through to label ?Subroutine5

        RSEG BANKED_CODE:CODE:NOROOT(0)
?Subroutine5:
        CFI Block cfiBlock1 Using cfiCommon0
        CFI NoFunction
        CFI CFA_SP SP+-5
        CFI DPL0 Frame(CFA_SP, 4)
        CFI DPH0 Frame(CFA_SP, 5)
        POP	DPH
        CFI CFA_SP SP+-4
        CFI DPH0 SameValue
        POP	DPL
        CFI CFA_SP SP+-3
        CFI DPL0 SameValue
        LJMP	?BRET
        CFI EndBlock cfiBlock1
//  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  ***************************************************************************************************/

        RSEG BANKED_CODE:CODE:NOROOT(0)
//  138 void SPIMgr_RegisterTaskID( byte taskID )
SPIMgr_RegisterTaskID:
        CFI Block cfiBlock2 Using cfiCommon0
        CFI Function SPIMgr_RegisterTaskID
//  139 {
        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: 0

⌨️ 快捷键说明

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