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

📄 tim_a.h

📁 摩托罗拉MMC2107在ucosII的移植代码
💻 H
📖 第 1 页 / 共 4 页
字号:
    (TIM_A_PARAM_CHECKING) ?                                           \
    (                                                                  \
     ((TIMPtr) == NULL) ?                                              \
       TIM_A_ERR_INVALID_HANDLE :                                      \
     (((PIE) < TIM_A_INTERRUPT_FLAG_NOT_ALLOWED) ||                    \
        ((PIE) > TIM_A_INTERRUPT_FLAG_ALLOWED)) ?                      \
        TIM_A_ERR_INVALID_TIM_INTERRUPT_ENABLE:                        \
          TIM_A_ControlInterrupt_f((TIMPtr),                           \
                                   (PIE)                               \
                                  )                                    \
  )                                                                    \
  :                                                                    \
    TIM_A_ControlInterrupt_f((TIMPtr),                                 \
                             (PIE)                                     \
                            )                                          \
) /* End of ControlInterrupt Macro */
/**********************************************************************/
/* Function:    TIM_A_GetStatus_f                                     */
/*                                                                    */
/* Purpose:     Return the status bit of the TIM                      */
/*                                                                    */
/* Input:                                                             */
/* TIMPtr           : TIM register block base address                 */
/*     GetStatusPtr : Result address for selected TIM_A register data */
/*                                                                    */
/* Output:                                                            */
/* TIM_A_ERR_NONE                         : For successful            */
/*                                          completion                */
/* TIM_A_ERR_INVALID_HANDLE               : Device Handle is NULL.    */
/* TIM_A_ERR_INVALID_TIM_INTERRUPT_ENABLE : TIM interrupt enable      */
/*                                          is invalid.               */
/**********************************************************************/
#define TIM_A_GetStatus(TIMPtr,                                        \
                        GetStatusPtr                                   \
                        )                                              \
(                                                                      \
  (TIM_A_PARAM_CHECKING) ?                                             \
  (                                                                    \
    ((TIMPtr) == NULL) ?                                               \
      TIM_A_ERR_INVALID_HANDLE :                                       \
    ((GetStatusPtr) == NULL) ?                                         \
      TIM_A_ERR_BAD_RESULT_ADDR :                                      \
    TIM_A_GetStatus_f( (TIMPtr),                                       \
                       (GetStatusPtr)                                  \
                      )                                                \
  )                                                                    \
  :                                                                    \
    TIM_A_GetStatus_f( (TIMPtr),                                       \
                       (GetStatusPtr)                                  \
                      )                                                \
) /* End of TIM_A_GetStatus Macro */
/**********************************************************************/
/* Macro:       TIM_A_ControlOperation_f                              */
/*                                                                    */
/* Purpose:     Shall enable or disable the TIM                       */
/*                                                                    */
/* Input:                                                             */
/* TIMPtr       : TIM register block base address                     */
/* TIMEnable    : Enable or disable the TIM                           */
/*                                                                    */
/* Output:                                                            */
/* TIM_A_ERR_NONE               : For successful completion           */
/* TIM_A_ERR_INVALID_HANDLE     : TIM base address parameter is zero  */
/* TIM_A_ERR_INVALID_TIM_ENABLE : TIM enable is invalid.              */
/**********************************************************************/
#define TIM_A_ControlOperation( TIMPtr,                                \
                                TIMEnable                              \
                              )                                        \
(                                                                      \
  (TIM_A_PARAM_CHECKING) ?                                             \
  (                                                                    \
    ((TIMPtr) == NULL) ?                                               \
      TIM_A_ERR_INVALID_HANDLE :                                       \
    (((TIMEnable) < TIM_A_FUNCTION_DISABLE) ||                         \
       ((TIMEnable) > TIM_A_FUNCTION_ENABLE)) ?                        \
       TIM_A_ERR_INVALID_TIM_ENABLE:                                   \
      TIM_A_ControlOperation_f((TIMPtr),                               \
                               (TIMEnable)                             \
                               )                                       \
  )                                                                    \
  :                                                                    \
    TIM_A_ControlOperation_f((TIMPtr),                                 \
                             (TIMEnable)                               \
                            )                                          \
) /* End of TIM_A_ControlOperation Macro */
/**********************************************************************/
/* Macro:       TIM_A_SetRegister                                     */
/*                                                                    */
/* Purpose:     Write a 16-bit data value to a sub-set of TIM         */
/*              registers.  Parameter checking is a compile-time      */
/*              option.                                               */
/*                                                                    */
/* Input:                                                             */
/* TIMPtr         : TIM_A base address associated with this driver.   */
/* RegisterSelect : Select among TIM_A registers.                     */
/* RegisterValue  : Data to copy into the user specified register.    */
/*                                                                    */
/* Output:                                                            */
/* TIM_A_ERR_NONE             : No error                              */
/* TIM_A_ERR_INVALID_HANDLE   : TIM base address parameter is zero    */
/* TIM_A_ERR_INVALID_REGISTER : TIM Register Selection switch         */
/*                              is invalid                            */
/**********************************************************************/
#define TIM_A_SetRegister(TIMPtr,                                      \
                          RegisterSelect,                              \
                          RegisterValue                                \
                          )                                            \
(                                                                      \
  (TIM_A_PARAM_CHECKING) ?                                             \
  (                                                                    \
    ((TIMPtr) == NULL) ?                                               \
      TIM_A_ERR_INVALID_HANDLE :                                       \
    (((RegisterSelect) < TIM_A_PCSR) ||                                \
       ((RegisterSelect) > TIM_A_PMR)) ?                               \
       TIM_A_ERR_INVALID_REGISTER :                                    \
    TIM_A_SetRegister_f((TIMPtr),                                      \
                        (RegisterSelect),                              \
                        (RegisterValue)                                \
                        )                                              \
  )                                                                    \
  :                                                                    \
    TIM_A_SetRegister_f((TIMPtr),                                      \
                        (RegisterSelect),                              \
                        (RegisterValue)                                \
                        )                                              \
                                                                       \
) /* End of TIM_A_SetRegister Macro */
/**********************************************************************/
/* Macro:       TIM_A_GetRegister                                     */
/*                                                                    */
/* Purpose:     Return the contents of a sub-set of TIM registers.    */
/*              Parameter checking is a compile-time option.          */
/* Input:                                                             */
/* TIMPtr         : TIM_A base address associated with this driver.   */
/* RegisterSelect : Select among a sub-set of TIM_A registers.        */
/* GetRegisterPtr : Result address for selected TIM_A register.       */
/*                                                                    */
/* Output:                                                            */
/*   TIM_A_ERR_NONE             : No error                            */
/*   TIM_A_ERR_INVALID_HANDLE   : TIM base address parameter is zero  */
/*   TIM_A_ERR_BAD_RESULT_ADDR  : Result Pointer is zero              */
/*   TIM_A_ERR_INVALID_REGISTER : TIM Register Selection switch is    */
/*                                invalid                             */
/**********************************************************************/
#define TIM_A_GetRegister(TIMPtr,                                      \
                          RegisterSelect,                              \
                          GetRegisterPtr                               \
                          )                                            \
(                                                                      \
  (TIM_A_PARAM_CHECKING) ?                                             \
  (                                                                    \
    ((TIMPtr) == NULL) ?                                               \
      TIM_A_ERR_INVALID_HANDLE :                                       \
    ((GetRegisterPtr) == NULL) ?                                       \
      TIM_A_ERR_BAD_RESULT_ADDR :                                      \
    (((RegisterSelect) < TIM_A_PCSR) ||                                \
       ((RegisterSelect) > TIM_A_PCNTR)) ?                             \
       TIM_A_ERR_INVALID_REGISTER :                                    \
    TIM_A_GetRegister_f( (TIMPtr),                                     \
                         (RegisterSelect),                             \
                         (GetRegisterPtr)                              \
                       )                                               \
  )                                                                    \
  :                                                                    \
    TIM_A_GetRegister_f( (TIMPtr),                                     \
                         (RegisterSelect),                             \
                         (GetRegisterPtr)                              \
                        )                                              \
) /* End of TIM_A_GetRegister Macro */

/**********************************************************************/
/* Macro:       TIM_A_Reset                                           */
/*                                                                    */
/* Purpose:     Resets the programmable interval timer.               */
/*              Parameter checking is a compile-time option.          */
/*                                                                    */
/* Input:                                                             */
/* TIMPtr : TIM_A base address associated with this driver.           */
/*                                                                    */
/* Output:                                                            */
/* TIM_A_ERR_NONE           : No error                                */
/* TIM_A_ERR_INVALID_HANDLE : TIM base address parameter is zero      */
/**********************************************************************/
#define TIM_A_Reset( TIMPtr                                         \
                   )                                                \
(                                                                   \
   (TIM_A_PARAM_CHECKING) ?                                         \
   (                                                                \
      ((TIMPtr) == NULL) ?                                          \
        TIM_A_ERR_INVALID_HANDLE :                                  \
      TIM_A_Reset_f ( (TIMPtr)                                      \
                    )                                               \
   )                                                                \
   :                                                                \
      TIM_A_Reset_f ( (TIMPtr)                                      \
                    )                                               \
) /* end of TIM_A_Reset Macro */





#endif

⌨️ 快捷键说明

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