MCF52233_UART.h
上传用户:dongxin
上传日期:2022-06-22
资源大小:370k
文件大小:11k
源码类别:

uCOS

开发平台:

Others

  1. /* Coldfire C Header File
  2.  * Copyright Freescale Semiconductor Inc
  3.  * All rights reserved.
  4.  *
  5.  * 2007/03/19 Revision: 0.91
  6.  */
  7. #ifndef __MCF52233_UART_H__
  8. #define __MCF52233_UART_H__
  9. /*********************************************************************
  10. *
  11. * Universal Asynchronous Receiver Transmitter (UART)
  12. *
  13. *********************************************************************/
  14. //标志位掩码的定义
  15. #define MCF_UART_RXD_MASK     (0x04)   //UART接收引脚定义掩码
  16. #define MCF_UART_TXD_MASK     (0x01)   //UART发送引脚定义掩码
  17. #define MCF_UART_RX_TEST      (0x01)   //UART接收缓冲区满标志位的掩码
  18. #define MCF_UART_TX_TEST      (0x04)   //UART发送缓冲区空标志位的掩码
  19. #define MCF_UART_RESET_TX     (0x30)   //UART控制寄存器复位发送器的掩码
  20. #define MCF_UART_RESET_RX     (0x20)   //UART控制寄存器复位接收器的掩码
  21. #define MCF_UART_RESET_MR     (0x10)   //UART复位模式寄存器的掩码
  22. #define MCF_UART_NONE_PARITY  (0x10)   //UART模式寄存器无奇偶校验掩码
  23. #define MCF_UART_BIT_8        (0x03)   //UART模式寄存器8位传输的掩码
  24. #define MCF_UART_CM_NORMAL    (0x00)   //UART模式寄存器正常通道模式的掩码
  25. #define MCF_UART_STOP_BITS_1  (0x07)   //UART模式寄存器1位停止位的掩码
  26. #define MCF_UART_RCS_SYSCLK   (0xD0)   //UART时钟选择寄存器接收时钟选择掩码
  27. #define MCF_UART_TCS_SYSCLK   (0x0D)   //UART时钟选择寄存器接收时钟选择掩码
  28. #define MCF_UART_RX_ENABLED   (0x01)   //UART控制寄存器使能接收器的掩码
  29. #define MCF_UART_TX_ENABLED   (0x04)   //UART控制寄存器使能发送器的掩码
  30. /* Register read/write macros */
  31. #define MCF_UART0_UMR1                       (*(vuint8 *)(&__IPSBAR[0x200]))
  32. #define MCF_UART0_UMR2                       (*(vuint8 *)(&__IPSBAR[0x200]))
  33. #define MCF_UART0_USR                        (*(vuint8 *)(&__IPSBAR[0x204]))
  34. #define MCF_UART0_UCSR                       (*(vuint8 *)(&__IPSBAR[0x204]))
  35. #define MCF_UART0_UCR                        (*(vuint8 *)(&__IPSBAR[0x208]))
  36. #define MCF_UART0_URB                        (*(vuint8 *)(&__IPSBAR[0x20C]))
  37. #define MCF_UART0_UTB                        (*(vuint8 *)(&__IPSBAR[0x20C]))
  38. #define MCF_UART0_UIPCR                      (*(vuint8 *)(&__IPSBAR[0x210]))
  39. #define MCF_UART0_UACR                       (*(vuint8 *)(&__IPSBAR[0x210]))
  40. #define MCF_UART0_UIMR                       (*(vuint8 *)(&__IPSBAR[0x214]))
  41. #define MCF_UART0_UISR                       (*(vuint8 *)(&__IPSBAR[0x214]))
  42. #define MCF_UART0_UBG1                       (*(vuint8 *)(&__IPSBAR[0x218]))
  43. #define MCF_UART0_UBG2                       (*(vuint8 *)(&__IPSBAR[0x21C]))
  44. #define MCF_UART0_UIP                        (*(vuint8 *)(&__IPSBAR[0x234]))
  45. #define MCF_UART0_UOP1                       (*(vuint8 *)(&__IPSBAR[0x238]))
  46. #define MCF_UART0_UOP0                       (*(vuint8 *)(&__IPSBAR[0x23C]))
  47. #define MCF_UART1_UMR1                       (*(vuint8 *)(&__IPSBAR[0x240]))
  48. #define MCF_UART1_UMR2                       (*(vuint8 *)(&__IPSBAR[0x240]))
  49. #define MCF_UART1_USR                        (*(vuint8 *)(&__IPSBAR[0x244]))
  50. #define MCF_UART1_UCSR                       (*(vuint8 *)(&__IPSBAR[0x244]))
  51. #define MCF_UART1_UCR                        (*(vuint8 *)(&__IPSBAR[0x248]))
  52. #define MCF_UART1_URB                        (*(vuint8 *)(&__IPSBAR[0x24C]))
  53. #define MCF_UART1_UTB                        (*(vuint8 *)(&__IPSBAR[0x24C]))
  54. #define MCF_UART1_UIPCR                      (*(vuint8 *)(&__IPSBAR[0x250]))
  55. #define MCF_UART1_UACR                       (*(vuint8 *)(&__IPSBAR[0x250]))
  56. #define MCF_UART1_UIMR                       (*(vuint8 *)(&__IPSBAR[0x254]))
  57. #define MCF_UART1_UISR                       (*(vuint8 *)(&__IPSBAR[0x254]))
  58. #define MCF_UART1_UBG1                       (*(vuint8 *)(&__IPSBAR[0x258]))
  59. #define MCF_UART1_UBG2                       (*(vuint8 *)(&__IPSBAR[0x25C]))
  60. #define MCF_UART1_UIP                        (*(vuint8 *)(&__IPSBAR[0x274]))
  61. #define MCF_UART1_UOP1                       (*(vuint8 *)(&__IPSBAR[0x278]))
  62. #define MCF_UART1_UOP0                       (*(vuint8 *)(&__IPSBAR[0x27C]))
  63. #define MCF_UART2_UMR1                       (*(vuint8 *)(&__IPSBAR[0x280]))
  64. #define MCF_UART2_UMR2                       (*(vuint8 *)(&__IPSBAR[0x280]))
  65. #define MCF_UART2_USR                        (*(vuint8 *)(&__IPSBAR[0x284]))
  66. #define MCF_UART2_UCSR                       (*(vuint8 *)(&__IPSBAR[0x284]))
  67. #define MCF_UART2_UCR                        (*(vuint8 *)(&__IPSBAR[0x288]))
  68. #define MCF_UART2_URB                        (*(vuint8 *)(&__IPSBAR[0x28C]))
  69. #define MCF_UART2_UTB                        (*(vuint8 *)(&__IPSBAR[0x28C]))
  70. #define MCF_UART2_UIPCR                      (*(vuint8 *)(&__IPSBAR[0x290]))
  71. #define MCF_UART2_UACR                       (*(vuint8 *)(&__IPSBAR[0x290]))
  72. #define MCF_UART2_UIMR                       (*(vuint8 *)(&__IPSBAR[0x294]))
  73. #define MCF_UART2_UISR                       (*(vuint8 *)(&__IPSBAR[0x294]))
  74. #define MCF_UART2_UBG1                       (*(vuint8 *)(&__IPSBAR[0x298]))
  75. #define MCF_UART2_UBG2                       (*(vuint8 *)(&__IPSBAR[0x29C]))
  76. #define MCF_UART2_UIP                        (*(vuint8 *)(&__IPSBAR[0x2B4]))
  77. #define MCF_UART2_UOP1                       (*(vuint8 *)(&__IPSBAR[0x2B8]))
  78. #define MCF_UART2_UOP0                       (*(vuint8 *)(&__IPSBAR[0x2BC]))
  79. #define MCF_UART_UMR(x)                      (*(vuint8 *)(&__IPSBAR[0x200 + ((x)*0x40)]))
  80. #define MCF_UART_USR(x)                      (*(vuint8 *)(&__IPSBAR[0x204 + ((x)*0x40)]))
  81. #define MCF_UART_UCSR(x)                     (*(vuint8 *)(&__IPSBAR[0x204 + ((x)*0x40)]))
  82. #define MCF_UART_UCR(x)                      (*(vuint8 *)(&__IPSBAR[0x208 + ((x)*0x40)]))
  83. #define MCF_UART_URB(x)                      (*(vuint8 *)(&__IPSBAR[0x20C + ((x)*0x40)]))
  84. #define MCF_UART_UTB(x)                      (*(vuint8 *)(&__IPSBAR[0x20C + ((x)*0x40)]))
  85. #define MCF_UART_UIPCR(x)                    (*(vuint8 *)(&__IPSBAR[0x210 + ((x)*0x40)]))
  86. #define MCF_UART_UACR(x)                     (*(vuint8 *)(&__IPSBAR[0x210 + ((x)*0x40)]))
  87. #define MCF_UART_UIMR(x)                     (*(vuint8 *)(&__IPSBAR[0x214 + ((x)*0x40)]))
  88. #define MCF_UART_UISR(x)                     (*(vuint8 *)(&__IPSBAR[0x214 + ((x)*0x40)]))
  89. #define MCF_UART_UBG1(x)                     (*(vuint8 *)(&__IPSBAR[0x218 + ((x)*0x40)]))
  90. #define MCF_UART_UBG2(x)                     (*(vuint8 *)(&__IPSBAR[0x21C + ((x)*0x40)]))
  91. #define MCF_UART_UIP(x)                      (*(vuint8 *)(&__IPSBAR[0x234 + ((x)*0x40)]))
  92. #define MCF_UART_UOP1(x)                     (*(vuint8 *)(&__IPSBAR[0x238 + ((x)*0x40)]))
  93. #define MCF_UART_UOP0(x)                     (*(vuint8 *)(&__IPSBAR[0x23C + ((x)*0x40)]))
  94. /* Bit definitions and macros for MCF_UART_UMR */
  95. #define MCF_UART_UMR_BC(x)                   (((x)&0x3)<<0)
  96. #define MCF_UART_UMR_BC_5                    (0)
  97. #define MCF_UART_UMR_BC_6                    (0x1)
  98. #define MCF_UART_UMR_BC_7                    (0x2)
  99. #define MCF_UART_UMR_BC_8                    (0x3)
  100. #define MCF_UART_UMR_PT                      (0x4)
  101. #define MCF_UART_UMR_PM(x)                   (((x)&0x3)<<0x3)
  102. #define MCF_UART_UMR_ERR                     (0x20)
  103. #define MCF_UART_UMR_RXIRQ                   (0x40)
  104. #define MCF_UART_UMR_RXRTS                   (0x80)
  105. #define MCF_UART_UMR_PM_MULTI_ADDR           (0x1C)
  106. #define MCF_UART_UMR_PM_MULTI_DATA           (0x18)
  107. #define MCF_UART_UMR_PM_NONE                 (0x10)
  108. #define MCF_UART_UMR_PM_FORCE_HI             (0xC)
  109. #define MCF_UART_UMR_PM_FORCE_LO             (0x8)
  110. #define MCF_UART_UMR_PM_ODD                  (0x4)
  111. #define MCF_UART_UMR_PM_EVEN                 (0)
  112. #define MCF_UART_UMR_SB(x)                   (((x)&0xF)<<0)
  113. #define MCF_UART_UMR_SB_STOP_BITS_1          (0x7)
  114. #define MCF_UART_UMR_SB_STOP_BITS_15         (0x8)
  115. #define MCF_UART_UMR_SB_STOP_BITS_2          (0xF)
  116. #define MCF_UART_UMR_TXCTS                   (0x10)
  117. #define MCF_UART_UMR_TXRTS                   (0x20)
  118. #define MCF_UART_UMR_CM(x)                   (((x)&0x3)<<0x6)
  119. #define MCF_UART_UMR_CM_NORMAL               (0)
  120. #define MCF_UART_UMR_CM_ECHO                 (0x40)
  121. #define MCF_UART_UMR_CM_LOCAL_LOOP           (0x80)
  122. #define MCF_UART_UMR_CM_REMOTE_LOOP          (0xC0)
  123. /* Bit definitions and macros for MCF_UART_USR */
  124. #define MCF_UART_USR_RXRDY                   (0x1)
  125. #define MCF_UART_USR_FFULL                   (0x2)
  126. #define MCF_UART_USR_TXRDY                   (0x4)
  127. #define MCF_UART_USR_TXEMP                   (0x8)
  128. #define MCF_UART_USR_OE                      (0x10)
  129. #define MCF_UART_USR_PE                      (0x20)
  130. #define MCF_UART_USR_FE                      (0x40)
  131. #define MCF_UART_USR_RB                      (0x80)
  132. /* Bit definitions and macros for MCF_UART_UCSR */
  133. #define MCF_UART_UCSR_TCS(x)                 (((x)&0xF)<<0)
  134. #define MCF_UART_UCSR_TCS_SYS_CLK            (0xD)
  135. #define MCF_UART_UCSR_TCS_CTM16              (0xE)
  136. #define MCF_UART_UCSR_TCS_CTM                (0xF)
  137. #define MCF_UART_UCSR_RCS(x)                 (((x)&0xF)<<0x4)
  138. #define MCF_UART_UCSR_RCS_SYS_CLK            (0xD0)
  139. #define MCF_UART_UCSR_RCS_CTM16              (0xE0)
  140. #define MCF_UART_UCSR_RCS_CTM                (0xF0)
  141. /* Bit definitions and macros for MCF_UART_UCR */
  142. #define MCF_UART_UCR_RC(x)                   (((x)&0x3)<<0)
  143. #define MCF_UART_UCR_RX_ENABLED              (0x1)
  144. #define MCF_UART_UCR_RX_DISABLED             (0x2)
  145. #define MCF_UART_UCR_TC(x)                   (((x)&0x3)<<0x2)
  146. #define MCF_UART_UCR_TX_ENABLED              (0x4)
  147. #define MCF_UART_UCR_TX_DISABLED             (0x8)
  148. #define MCF_UART_UCR_MISC(x)                 (((x)&0x7)<<0x4)
  149. #define MCF_UART_UCR_NONE                    (0)
  150. #define MCF_UART_UCR_RESET_MR                (0x10)
  151. #define MCF_UART_UCR_RESET_RX                (0x20)
  152. #define MCF_UART_UCR_RESET_TX                (0x30)
  153. #define MCF_UART_UCR_RESET_ERROR             (0x40)
  154. #define MCF_UART_UCR_RESET_BKCHGINT          (0x50)
  155. #define MCF_UART_UCR_START_BREAK             (0x60)
  156. #define MCF_UART_UCR_STOP_BREAK              (0x70)
  157. /* Bit definitions and macros for MCF_UART_URB */
  158. #define MCF_UART_URB_RB(x)                   (((x)&0xFF)<<0)
  159. /* Bit definitions and macros for MCF_UART_UTB */
  160. #define MCF_UART_UTB_TB(x)                   (((x)&0xFF)<<0)
  161. /* Bit definitions and macros for MCF_UART_UIPCR */
  162. #define MCF_UART_UIPCR_CTS                   (0x1)
  163. #define MCF_UART_UIPCR_COS                   (0x10)
  164. /* Bit definitions and macros for MCF_UART_UACR */
  165. #define MCF_UART_UACR_IEC                    (0x1)
  166. /* Bit definitions and macros for MCF_UART_UIMR */
  167. #define MCF_UART_UIMR_TXRDY                  (0x1)
  168. #define MCF_UART_UIMR_FFULL_RXRDY            (0x2)
  169. #define MCF_UART_UIMR_DB                     (0x4)
  170. #define MCF_UART_UIMR_COS                    (0x80)
  171. /* Bit definitions and macros for MCF_UART_UISR */
  172. #define MCF_UART_UISR_TXRDY                  (0x1)
  173. #define MCF_UART_UISR_FFULL_RXRDY            (0x2)
  174. #define MCF_UART_UISR_DB                     (0x4)
  175. #define MCF_UART_UISR_COS                    (0x80)
  176. /* Bit definitions and macros for MCF_UART_UBG1 */
  177. #define MCF_UART_UBG1_Divider_MSB(x)         (((x)&0xFF)<<0)
  178. /* Bit definitions and macros for MCF_UART_UBG2 */
  179. #define MCF_UART_UBG2_Divider_LSB(x)         (((x)&0xFF)<<0)
  180. /* Bit definitions and macros for MCF_UART_UIP */
  181. #define MCF_UART_UIP_CTS                     (0x1)
  182. /* Bit definitions and macros for MCF_UART_UOP1 */
  183. #define MCF_UART_UOP1_RTS                    (0x1)
  184. /* Bit definitions and macros for MCF_UART_UOP0 */
  185. #define MCF_UART_UOP0_RTS                    (0x1)
  186. #endif /* __MCF52233_UART_H__ */