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

📄 sci_d.h

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

/*----------------------------------------------------------------------*/
/* 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 + -