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

📄 sci_d.h

📁 摩托罗拉MMC2107在ucosII的移植代码
💻 H
📖 第 1 页 / 共 5 页
字号:

SCI_D_ReturnCode_t  SCI_D_Transmit_f ( pSCI_D_t,  			
									   UINT16,				
									   SCI_D_Boolean_t * 
                                     );


SCI_D_ReturnCode_t SCI_D_Receive_f ( pSCI_D_t, 
								     UINT16 *,						
								     pSCI_D_ReceiverStatus_t	
								   );


SCI_D_ReturnCode_t   SCI_D_ControlBreak_f ( pSCI_D_t,					
										    SCI_D_Control_t		
										  );


SCI_D_ReturnCode_t   SCI_D_ControlLoopback_f ( pSCI_D_t,						
											   SCI_D_Control_t,				
											   SCI_D_RecSource_t,		
											   SCI_D_DataDir_t,				
											   SCI_D_DataDir_t,			
											   SCI_D_PinMode_t					
											 );


SCI_D_ReturnCode_t   SCI_D_SetBaudRate_f ( pSCI_D_t,			
										   UINT32,				
										   UINT32				
										 );


SCI_D_ReturnCode_t   SCI_D_SetRegister_f ( pSCI_D_t,			
										   SCI_D_Register_t,			
										   UINT8							
										 );


SCI_D_ReturnCode_t   SCI_D_GetRegister_f ( pSCI_D_t,					
										   SCI_D_Register_t,			
										   UINT8 *					
										 );


SCI_D_ReturnCode_t   SCI_D_ConfigureGPIO_f ( pSCI_D_t,					
											 pSCI_D_DataDirStruct_t,		
											 SCI_D_PinDrive_t,			
											 SCI_D_PinDrive_t,			
											 SCI_D_Control_t,			
											 SCI_D_Control_t			
										   );


SCI_D_ReturnCode_t   SCI_D_ReadPin_f ( pSCI_D_t,					
									   SCI_D_Port_t, 			
									   SCI_D_PinSense_t *			
									 );


SCI_D_ReturnCode_t   SCI_D_WritePin_f ( pSCI_D_t,				
									    SCI_D_Port_t,		
									    SCI_D_PinSense_t	
									  );


SCI_D_ReturnCode_t   SCI_D_Reset_f ( pSCI_D_t	 
								   );


SCI_D_ReturnCode_t   SCI_D_GetStatus_f ( pSCI_D_t,			
									     pSCI_D_Status_t		
									   );

/*----------------------------------------------------------------------*/
/* Macro:       SCI_D_Init                                              */
/*                                                                      */
/* Purpose:     Call SCI_D_Init_f function with optional                */
/*              parameter checking.                                     */
/*                                                                      */
/* Input:                                                               */
/*   SCIPtr             : SCI base address associated with this driver  */
/*   baudRateValue      : Baud rate desired for SCI                     */
/*   SCIClockValue      : SCI module clock rate                         */
/*   pinModeValue       : Pin output mode (CMOS or open-drain)          */
/*   idleValue          : Idle line detect mode                         */
/*   parityValue        : Parity mode                                   */
/*   dataFrameValue     : Data frame length                             */
/*   wakeUpValue        : Wakeup type                                   */
/*   dozeModeControl    : Enable or disable SCI in doze mode            */
/*                                                                      */
/* Output:                                                              */
/*   SCI_D_ERR_NONE              	  : No error.                       */
/*   SCI_D_ERR_INVALID_HANDLE    	  : SCI base address parameter is   */
/*									  : zero.                           */
/*   SCI_D_ERR_INVALID_CONTROL		  : no valid control selection      */
/*   SCI_D_ERR_INVALID_BAUD_RATE	  : baud rate less than 1           */
/*   SCI_D_ERR_INVALID_CLOCK_VALUE	  : clock value less than 1         */
/*   SCI_D_ERR_INVALID_CLOCK_DIVIDER  : derived clock divider value is  */
/* 									  : invalid                         */
/*   SCI_D_ERR_INVALID_PIN_MODE		  : pin mode value is invalid       */
/*   SCI_D_ERR_INVALID_IDLE_MODE	  : idle mode value is invalid      */	
/*   SCI_D_ERR_INVALID_PARITY		  : parity mode value is invalid    */
/*   SCI_D_ERR_INVALID_DATA_FRAME	  : data frame value is invalid     */
/*   SCI_D_ERR_INVALID_WAKEUP_MODE	  : wakeup mode value is invalid    */
/*   SCI_D_ERR_WAKEUP_PARITY_CONFLICT : invalid SCI mode                */
/*                                                                      */
/*----------------------------------------------------------------------*/
#define SCI_D_Init( SCIPtr,                                          \
                    baudRateValue,                                   \
                    SCIClockValue,                                   \
                    pinModeValue,                                    \
                    idleValue,                                       \
                    parityValue,                                     \
                    dataFrameValue,                                  \
                    wakeUpValue,                                     \
                    dozeModeControl                                  \
                  )                                                  \
(                                                                    \
   (SCI_D_PARAM_CHECKING) ?                                          \
   (                                                                 \
      ((SCIPtr) == NULL) ?                                           \
        SCI_D_ERR_INVALID_HANDLE :                                   \
      ((baudRateValue) < MIN_BAUD_RATE) ?                            \
        SCI_D_ERR_INVALID_BAUD_RATE :                                \
      ((SCIClockValue) < MIN_CLOCK_VALUE) ?                          \
        SCI_D_ERR_INVALID_CLOCK_VALUE :                              \
      (((pinModeValue) < SCI_D_PINMODE_CMOS) ||                      \
       ((pinModeValue) > SCI_D_PINMODE_OPEN_DRAIN)) ?                \
        SCI_D_ERR_INVALID_PIN_MODE :                                 \
      (((idleValue) < SCI_D_IDLE_SHORT) ||                           \
       ((idleValue) > SCI_D_IDLE_LONG)) ?                            \
        SCI_D_ERR_INVALID_IDLE_MODE :                                \
      (((parityValue) < SCI_D_PARITY_EVEN) ||                        \
       ((parityValue) > SCI_D_PARITY_NONE)) ?                        \
        SCI_D_ERR_INVALID_PARITY :                                   \
      (((dataFrameValue) < SCI_D_DATA_8) ||                          \
       ((dataFrameValue) > SCI_D_DATA_9)) ?                          \
	    SCI_D_ERR_INVALID_DATA_FRAME :                               \
      (((wakeUpValue) < SCI_D_WAKEUP_IDLE) ||                        \
       ((wakeUpValue) > SCI_D_WAKEUP_ADDR)) ?                        \
        SCI_D_ERR_INVALID_WAKEUP_MODE :                              \
      (((dozeModeControl) < SCI_D_DISABLE) ||                        \
       ((dozeModeControl) > SCI_D_ENABLE)) ?                         \
        SCI_D_ERR_INVALID_CONTROL :                                  \
      (((wakeUpValue) == SCI_D_WAKEUP_ADDR) &&                       \
       (((parityValue) == SCI_D_PARITY_EVEN) ||                      \
        ((parityValue) == SCI_D_PARITY_ODD))) ?                      \
        SCI_D_ERR_WAKEUP_PARITY_CONFLICT :                           \
      SCI_D_Init_f( (SCIPtr),                                        \
                    (baudRateValue),                                 \
                    (SCIClockValue),                                 \
                    (pinModeValue),                                  \
                    (idleValue),                                     \
                    (parityValue),                                   \
                    (dataFrameValue),                                \
                    (wakeUpValue),                                   \
                    (dozeModeControl)                                \
                  )                                                  \
    )                                                                \
    :                                                                \
         SCI_D_Init_f( (SCIPtr),                                     \
                       (baudRateValue),                              \
                       (SCIClockValue),                              \
                       (pinModeValue),                               \
                       (idleValue),                                  \
                       (parityValue),                                \
                       (dataFrameValue),                             \
                       (wakeUpValue),                                \
                       (dozeModeControl)                             \
                     )                                               \
) /* end of SCI_D_Init Macro */										


/*----------------------------------------------------------------------*/
/* Macro:       SCI_D_ControlOperation                                  */
/*                                                                      */
/* Purpose:     Call SCI_D_ControlOperation_f function with optional    */
/*              parameter checking.                                     */
/*                                                                      */
/* Input:                                                               */
/*   SCIPtr             : SCI base address associated with this driver  */
/*   controlTransmitter : Control transmitter enabling/disabling        */
/*   controlReceiver    : Control receiver enabling/disabling           */
/*                                                                      */
/* Output:                                                              */
/*   SCI_D_ERR_NONE                  : No error.                        */
/*   SCI_D_ERR_INVALID_HANDLE        : SCI base address parameter is    */
/*                                   : zero.                            */
/*   SCI_D_ERR_INVALID_CONTROL       : no valid control selection       */
/*                                                                      */
/*----------------------------------------------------------------------*/


#define SCI_D_ControlOperation( SCIPtr,                              \
                                controlTransmitter,                  \
                                controlReceiver                      \
                              )                                      \
(                                                                    \
   (SCI_D_PARAM_CHECKING) ?                                          \
   (                                                                 \
      ((SCIPtr) == NULL) ?                                           \
        SCI_D_ERR_INVALID_HANDLE :                                   \
      (((controlTransmitter) < SCI_D_DISABLE) ||                     \
       ((controlTransmitter) > SCI_D_NO_CHANGE)) ?                   \
        SCI_D_ERR_INVALID_CONTROL :                                  \
      (((controlReceiver) < SCI_D_DISABLE) ||                        \
       ((controlReceiver) > SCI_D_NO_CHANGE)) ?                      \
        SCI_D_ERR_INVALID_CONTROL :                                  \
      SCI_D_ControlOperation_f ( (SCIPtr),                           \
                                 (controlTransmitter),               \
                                 (controlReceiver)                   \
                               )                                     \
   )                                                                 \
   :                                                                 \
      SCI_D_ControlOperation_f ( (SCIPtr),                           \
                                 (controlTransmitter),               \
                                 (controlReceiver)                   \
                               )                                     \
) /* end of SCI_D_ControlOperation Macro */


/*----------------------------------------------------------------------*/
/* Macro:       SCI_D_ControlInterrupt                                  */
/*                                                                      */
/* Purpose:     Call SCI_D_ControlInterrupt_f function with optional    */
/*              parameter checking.                                     */
/*                                                                      */
/* Input:                                                               */
/*   SCIPtr             : SCI base address associated with this driver  */
/*   transmitterInt     : Control transmit interrupts                   */
/*   transCompleteInt   : Control transmit complete interrupts          */
/*   receiverInt        : Control receiver interrupts                   */
/*   idleLineInt        : Control idle line interrupts                  */
/*                                                                      */
/* Output:                                                              */
/*   SCI_D_ERR_NONE                  : No error.                        */
/*   SCI_D_ERR_INVALID_HANDLE        : SCI base address parameter is    */
/*                                   : zero.                            */
/*   SCI_D_ERR_INVALID_CONTROL       : no valid control selection       */

⌨️ 快捷键说明

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