📄 sci_d.h
字号:
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 + -