📄 sci_d.h
字号:
/*----------------------------------------------------------------------*/
/* Macro: SCI_D_SetBaudRate */
/* */
/* Purpose: Call SCI_D_SetBaudRate_f function with optional */
/* parameter checking. */
/* */
/* Input: */
/* SCIPtr : SCI base address associated with this driver */
/* baudRateValue : Desired baud rate (bps) */
/* SCIClockValue : SCI module clock rate (Hz) */
/* */
/* Output: */
/* SCI_D_ERR_NONE : No error. */
/* SCI_D_ERR_INVALID_HANDLE : SCI base address parameter is */
/* : zero. */
/* SCI_D_ERR_INVALID_BAUD_RATE : Baud rate not valid */
/* SCI_D_ERR_INVALID_CLOCK_VALUE : SCI Clock value is invalid */
/* SCI_D_ERR_INVALID_CLOCK_DIVIDER : derived clock divider value is */
/* : invalid */
/* */
/*----------------------------------------------------------------------*/
#define SCI_D_SetBaudRate( SCIPtr, \
baudRateValue, \
SCIClockValue \
) \
( \
(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 : \
SCI_D_SetBaudRate_f ( (SCIPtr), \
(baudRateValue), \
(SCIClockValue) \
) \
) \
: \
SCI_D_SetBaudRate_f ( (SCIPtr), \
(baudRateValue), \
(SCIClockValue) \
) \
) /* end of SCI_D_SetBaudRate Macro */
/*----------------------------------------------------------------------*/
/* Macro: SCI_D_SetRegister */
/* */
/* Purpose: Call SCI_D_SetRegister_f function with optional */
/* parameter checking. */
/* */
/* Input: */
/* SCIPtr : SCI base address associated with this driver */
/* registerSwitch : Select among SCI_D registers */
/* registerValue : Data to copy into selected register */
/* */
/* Output: */
/* SCI_D_ERR_NONE : No error. */
/* SCI_D_ERR_INVALID_HANDLE : SCI base address parameter is */
/* : zero. */
/* SCI_D_ERR_INVALID_REGISTER : SCI Register selection switch */
/* : is invalid */
/* */
/*----------------------------------------------------------------------*/
#define SCI_D_SetRegister( SCIPtr, \
registerSwitch, \
registerValue \
) \
( \
(SCI_D_PARAM_CHECKING) ? \
( \
((SCIPtr) == NULL) ? \
SCI_D_ERR_INVALID_HANDLE : \
(((registerSwitch) < SCI_D_SCIBDH) || \
((registerSwitch) > SCI_D_SCIDDR) || \
((registerSwitch) == SCI_D_SCISR1) || \
((registerSwitch) == SCI_D_SCISR2)) ? \
SCI_D_ERR_INVALID_REGISTER : \
SCI_D_SetRegister_f ( (SCIPtr), \
(registerSwitch), \
(registerValue) \
) \
) \
: \
SCI_D_SetRegister_f ( (SCIPtr), \
(registerSwitch), \
(registerValue) \
) \
) /* end of SCI_D_SetRegister Macro */
/*----------------------------------------------------------------------*/
/* Macro: SCI_D_GetRegister */
/* */
/* Purpose: Call SCI_D_GetRegister_f function with optional */
/* parameter checking. */
/* */
/* Input: */
/* SCIPtr : SCI base address associated with this driver */
/* registerSwitch : Select among SCI_D registers */
/* getRegisterPtr : Result address for selected register */
/* */
/* Output: */
/* SCI_D_ERR_NONE : No error. */
/* SCI_D_ERR_INVALID_HANDLE : SCI base address parameter is */
/* : zero. */
/* SCI_D_ERR_INVALID_REGISTER : SCI Register selection switch */
/* : is invalid */
/* SCI_D_ERR_BAD_RESULT_ADDR : Result pointer is zero */
/* */
/*----------------------------------------------------------------------*/
#define SCI_D_GetRegister( SCIPtr, \
registerSwitch, \
getRegisterPtr \
) \
( \
(SCI_D_PARAM_CHECKING) ? \
( \
((SCIPtr) == NULL) ? \
SCI_D_ERR_INVALID_HANDLE : \
((getRegisterPtr) == NULL) ? \
SCI_D_ERR_BAD_RESULT_ADDR : \
(((registerSwitch) < SCI_D_SCIBDH) || \
((registerSwitch) > SCI_D_SCIDDR)) ? \
SCI_D_ERR_INVALID_REGISTER : \
SCI_D_GetRegister_f ( (SCIPtr), \
(registerSwitch), \
(getRegisterPtr) \
) \
) \
: \
SCI_D_GetRegister_f ( (SCIPtr), \
(registerSwitch), \
(getRegisterPtr) \
) \
) /* end of SCI_D_GetRegister Macro */
/*----------------------------------------------------------------------*/
/* Macro: SCI_D_ConfigureGPIO */
/* */
/* Purpose: Call SCI_D_ConfigureGPIO_f function with optional */
/* parameter checking. */
/* */
/* Input: */
/* SCIPtr : SCI base address associated with this driver */
/* dataDir : Select among SCI_D registers */
/* pinDrive0_1 : Configure pins 0 and 1 for reduced drive */
/* pinDrive2_7 : Configure pins 2-7 for reduced drive */
/* controlPullups0_1 : Configure pins 0 and 1 for pullups */
/* controlPullups2_7 : Configure pins 2-7 for reduced drive */
/* */
/* Output: */
/* SCI_D_ERR_NONE : No error. */
/* SCI_D_ERR_INVALID_HANDLE : SCI base address parameter is */
/* : zero. */
/* SCI_D_ERR_INVALID_DATA_DIRECTION : Port data direction is invalid */
/* SCI_D_ERR_INVALID_DRIVE_MODE : Reduced drive mode is invalid */
/* SCI_D_ERR_INVALID_CONTROL : Control choice is invalid */
/* SCI_D_ERR_INVALID_ADDR : Pointer is zero */
/* */
/*----------------------------------------------------------------------*/
#define SCI_D_ConfigureGPIO( SCIPtr, \
dataDir, \
pinDrive0_1, \
pinDrive2_7, \
controlPullups0_1, \
controlPullups2_7 \
) \
( \
(SCI_D_PARAM_CHECKING) ? \
( \
((SCIPtr) == NULL) ? \
SCI_D_ERR_INVALID_HANDLE : \
((dataDir) == NULL) ? \
SCI_D_ERR_INVALID_ADDR : \
((((dataDir)->dataDirPin0) < SCI_D_DATADIR_INPUT) || \
(((dataDir)->dataDirPin0) > SCI_D_DATADIR_OUTPUT)) ? \
SCI_D_ERR_INVALID_DATA_DIRECTION : \
((((dataDir)->dataDirPin1) < SCI_D_DATADIR_INPUT) || \
(((dataDir)->dataDirPin1) > SCI_D_DATADIR_OUTPUT)) ? \
SCI_D_ERR_INVALID_DATA_DIRECTION : \
((((dataDir)->dataDirPin2) < SCI_D_DATADIR_INPUT) || \
(((dataDir)->dataDirPin2) > SCI_D_DATADIR_OUTPUT)) ? \
SCI_D_ERR_INVALID_DATA_DIRECTION : \
((((dataDir)->dataDirPin3) < SCI_D_DATADIR_INPUT) || \
(((dataDir)->dataDirPin3) > SCI_D_DATADIR_OUTPUT)) ? \
SCI_D_ERR_INVALID_DATA_DIRECTION : \
((((dataDir)->dataDirPin4) < SCI_D_DATADIR_INPUT) || \
(((dataDir)->dataDirPin4) > SCI_D_DATADIR_OUTPUT)) ? \
SCI_D_ERR_INVALID_DATA_DIRECTION : \
((((dataDir)->dataDirPin5) < SCI_D_DATADIR_INPUT) || \
(((dataDir)->dataDirPin5) > SCI_D_DATADIR_OUTPUT)) ? \
SCI_D_ERR_INVALID_DATA_DIRECTION : \
((((dataDir)->dataDirPin6) < SCI_D_DATADIR_INPUT) || \
(((dataDir)->dataDirPin6) > SCI_D_DATADIR_OUTPUT)) ? \
SCI_D_ERR_INVALID_DATA_DIRECTION : \
((((dataDir)->dataDirPin7) < SCI_D_DATADIR_INPUT) || \
(((dataDir)->dataDirPin7) > SCI_D_DATADIR_OUTPUT)) ? \
SCI_D_ERR_INVALID_DATA_DIRECTION : \
(((pinDrive0_1) < SCI_D_PINDRIVE_FULL) || \
((pinDrive0_1) > SCI_D_PINDRIVE_REDUCED)) ? \
SCI_D_ERR_INVALID_DRIVE_MODE : \
(((pinDrive2_7) < SCI_D_PINDRIVE_FULL) || \
((pinDrive2_7) > SCI_D_PINDRIVE_REDUCED)) ? \
SCI_D_ERR_INVALID_DRIVE_MODE : \
(((controlPullups0_1) < SCI_D_DISABLE) || \
((controlPullups0_1) > SCI_D_NO_CHANGE)) ? \
SCI_D_ERR_INVALID_CONTROL : \
(((controlPullups2_7) < SCI_D_DISABLE) || \
((controlPullups2_7) > SCI_D_NO_CHANGE)) ? \
SCI_D_ERR_INVALID_CONTROL : \
SCI_D_ConfigureGPIO_f ( (SCIPtr), \
(dataDir), \
(pinDrive0_1), \
(pinDrive2_7), \
(controlPullups0_1), \
(controlPullups2_7) \
) \
) \
: \
SCI_D_ConfigureGPIO_f ( (SCIPtr), \
(dataDir), \
(pinDrive0_1), \
(pinDrive2_7), \
(controlPullups0_1), \
(controlPullups2_7) \
) \
) /* end of SCI_D_ConfigureGPIO Macro */
/*----------------------------------------------------------------------*/
/* Macro: SCI_D_ReadPin */
/* */
/*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -