xti.h
上传用户:yyyd609
上传日期:2022-07-18
资源大小:183k
文件大小:5k
源码类别:

微处理器开发

开发平台:

C/C++

  1. /******************** (C) COPYRIGHT 2003 STMicroelectronics ********************
  2. * File Name          : xti.h
  3. * Author             : MCD Application Team
  4. * Date First Issued  : 08/06/2003
  5. * Description        : This file contains all the functions prototypes for the
  6. *                      XTI software library.
  7. ********************************************************************************
  8. * History:
  9. *  01/01/2004 : V1.2
  10. *  14/07/2004 : V1.3
  11. *******************************************************************************/
  12. #ifndef __xti_H
  13. #define __xti_H
  14. #include "71x_lib.h"
  15. typedef enum
  16. {
  17.   XTI_WakeUp           = 1,
  18.   XTI_Interrupt        = 2,
  19.   XTI_WakeUpInterrupt  = 3
  20. } XTIMode_TypeDef;
  21. typedef enum
  22. {
  23.   XTI_FallingEdge,
  24.   XTI_RisingEdge
  25. } XTITriggerEdge_TypeDef;
  26. #define XTI_Line0  0x0001
  27. #define XTI_Line1  (XTI_Line0<<1)
  28. #define XTI_Line2  (XTI_Line1<<1)
  29. #define XTI_Line3  (XTI_Line2<<1)
  30. #define XTI_Line4  (XTI_Line3<<1)
  31. #define XTI_Line5  (XTI_Line4<<1)
  32. #define XTI_Line6  (XTI_Line5<<1)
  33. #define XTI_Line7  (XTI_Line6<<1)
  34. #define XTI_Line8  (XTI_Line7<<1)
  35. #define XTI_Line9  (XTI_Line8<<1)
  36. #define XTI_Line10 (XTI_Line9<<1)
  37. #define XTI_Line11 (XTI_Line10<<1)
  38. #define XTI_Line12 (XTI_Line11<<1)
  39. #define XTI_Line13 (XTI_Line12<<1)
  40. #define XTI_Line14 (XTI_Line13<<1)
  41. #define XTI_Line15 (XTI_Line14<<1)
  42. /*******************************************************************************
  43. * Function Name  : XTI_Init
  44. * Description    : Configure the XTI Mede
  45. * Input 1        : Mode can be WakeUp, Interrupt or WakeUpInterrupt.
  46. * Input 2        : NewState can be ENABLE ro DISABLE.
  47. * Output         : None
  48. * Return         : None
  49. *******************************************************************************/
  50. void XTI_Init(void);
  51. /*******************************************************************************
  52. * Function Name  : XTI_ModeConfig
  53. * Description    : Configure the XTI Mede
  54. * Input 1        : Mode can be WakeUp, Interrupt or WakeUpInterrupt.
  55. * Input 2        : NewState can be ENABLE ro DISABLE.
  56. * Output         : None
  57. * Return         : None
  58. *******************************************************************************/
  59. inline void XTI_ModeConfig(XTIMode_TypeDef Mode,FunctionalState NewState)
  60. {
  61.   if (NewState==ENABLE) XTI->CTRL|=Mode; else XTI->CTRL&=~Mode;
  62. }
  63. /*******************************************************************************
  64. * Function Name  : XTI_LineModeConfig
  65. * Description    : Configure the trigger edge.
  66. * Input 1        : Lines to be configured.
  67. * Input 2        : The trigger edge can be FallingEdge or RisingEdge.
  68. * Output         : None
  69. * Return         : None
  70. *******************************************************************************/
  71. void XTI_LineModeConfig(u16 Lines, XTITriggerEdge_TypeDef TriggerEdge);
  72. /*******************************************************************************
  73. * Function Name  : XTI_LineConfig
  74. * Description    : Enable and disable lines interrupts
  75. * Input 1        : Lines to be configured.
  76. * Input 2        : NewState can be ENABLE ro DISABLE.
  77. * Output         : None
  78. * Return         : None
  79. *******************************************************************************/
  80. void XTI_LineConfig(u16 Lines, FunctionalState NewState);
  81. /*******************************************************************************
  82. * Function Name  : XTI_InterruptLineValue
  83. * Description    : Get the interrupt lines
  84. * Input 1        : None.
  85. * Output         : The interrupts lines numbers
  86. * Return         : None
  87. *******************************************************************************/
  88. inline u16 XTI_InterruptLineValue(void)
  89. {
  90.   return XTI->PRL | ((u16)XTI->PRH<<8);
  91. }
  92. /*******************************************************************************
  93. * Function Name  : XTI_PendingBitClear
  94. * Description    : Clear the pending bits
  95. * Input 1        : Bits to be cleared.
  96. * Output         : None
  97. * Return         : None
  98. *******************************************************************************/
  99. inline void XTI_PendingBitClear(u16 Lines)
  100. {
  101.   XTI->PRL &= ~Lines;
  102.   XTI->PRH &= ~((Lines>>8)&0x00FF);
  103. }
  104. /*******************************************************************************
  105. * Function Name  : XTI_SoftwareIRQInterruprGenerate
  106. * Description    : Generate a software IRQ interrupt.
  107. * Input          : None
  108. * Output         : None
  109. * Return         : None
  110. *******************************************************************************/
  111. inline void XTI_SWIRQGenerate(void)
  112. {
  113.   XTI->SR = 0x01;
  114.   XTI->SR = 0x00;
  115. }
  116. #endif /* __xti_H */
  117. /******************* (C) COPYRIGHT 2003 STMicroelectronics *****END OF FILE****/