]> git.sur5r.net Git - freertos/blob - Demo/ARM7_STR75x_GCC/STLibrary/inc/75x_uart.h
Start to re-arrange files to include FreeRTOS+ in main download.
[freertos] / Demo / ARM7_STR75x_GCC / STLibrary / inc / 75x_uart.h
1 /******************** (C) COPYRIGHT 2006 STMicroelectronics ********************\r
2 * File Name          : 75x_uart.h\r
3 * Author             : MCD Application Team\r
4 * Date First Issued  : 03/10/2006\r
5 * Description        : This file contains all the functions prototypes for the\r
6 *                      UART software library.\r
7 ********************************************************************************\r
8 * History:\r
9 * 07/17/2006 : V1.0\r
10 * 03/10/2006 : V0.1\r
11 ********************************************************************************\r
12 * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS\r
13 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.\r
14 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,\r
15 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE\r
16 * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING\r
17 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
18 *******************************************************************************/\r
19 \r
20 /* Define to prevent recursive inclusion -------------------------------------*/\r
21 #ifndef __75x_UART_H\r
22 #define __75x_UART_H\r
23 \r
24 /* Includes ------------------------------------------------------------------*/\r
25 #include "75x_map.h"\r
26 \r
27 /* Exported types ------------------------------------------------------------*/\r
28 /* UART FIFO Level enumeration */\r
29 typedef enum\r
30 {\r
31   UART_FIFOLevel_1_8 = 0x0000,  /* FIFO size 16 bytes, FIFO level 2 bytes */\r
32   UART_FIFOLevel_1_4 = 0x0001,  /* FIFO size 16 bytes, FIFO level 4 bytes */\r
33   UART_FIFOLevel_1_2 = 0x0002,  /* FIFO size 16 bytes, FIFO level 8 bytes */\r
34   UART_FIFOLevel_3_4 = 0x0003,  /* FIFO size 16 bytes, FIFO level 12 bytes */\r
35   UART_FIFOLevel_7_8 = 0x0004   /* FIFO size 16 bytes, FIFO level 14 bytes */\r
36 }UART_FIFOLevel;\r
37 \r
38 /* UART Init Structure definition */\r
39 typedef struct\r
40 {\r
41   u16 UART_WordLength;\r
42   u16 UART_StopBits;\r
43   u16 UART_Parity;\r
44   u32 UART_BaudRate;\r
45   u16 UART_HardwareFlowControl;\r
46   u16 UART_Mode;\r
47   u16 UART_FIFO;\r
48   UART_FIFOLevel UART_TxFIFOLevel;\r
49   UART_FIFOLevel UART_RxFIFOLevel;\r
50 }UART_InitTypeDef;\r
51 \r
52 \r
53 /* UART RTS enumeration */\r
54 typedef enum\r
55 {\r
56   RTSRESET = 1,\r
57   RTSSET\r
58 }UART_RTSTypeDef;\r
59 \r
60 \r
61 /* Exported constants --------------------------------------------------------*/\r
62 /* UART Data Length */\r
63 #define UART_WordLength_5D          0x0000  /* 5 bits Data */\r
64 #define UART_WordLength_6D          0x0020  /* 6 bits Data */\r
65 #define UART_WordLength_7D          0x0040  /* 7 bits Data */\r
66 #define UART_WordLength_8D          0x0060  /* 8 bits Data */\r
67                                                                                                \r
68 /* UART Stop Bits */\r
69 #define UART_StopBits_1             0xFFF7  /* One stop bit is transmitted at \r
70                                                the end of frame */\r
71 #define UART_StopBits_2             0x0008  /* Tow stop bits are transmitted \r
72                                                at the end of frame */\r
73 \r
74 /* UART Parity */\r
75 #define UART_Parity_No              0x0000  /* Parity Disable */\r
76 #define UART_Parity_Even            0x0006  /* Even Parity */\r
77 #define UART_Parity_Odd             0x0002  /* Odd Parity */\r
78 #define UART_Parity_OddStick        0x0082  /* 1 is transmitted as bit parity */\r
79 #define UART_Parity_EvenStick       0x0086  /* 0 is transmitted as bit parity */\r
80 \r
81 /* UART Hardware Flow Control */\r
82 #define UART_HardwareFlowControl_None       0x0000/* HFC Disable */\r
83 #define UART_HardwareFlowControl_RTS        0x4000/* RTS Enable */\r
84 #define UART_HardwareFlowControl_CTS        0x8000/* CTS Enable */\r
85 #define UART_HardwareFlowControl_RTS_CTS    0xC000/* CTS and RTS Enable */\r
86 \r
87 /* UART Mode */\r
88 #define UART_Mode_Rx                0x0200  /* UART Rx Enabled */\r
89 #define UART_Mode_Tx                0x0100  /* UART Tx Enbled */\r
90 #define UART_Mode_Tx_Rx             0x0300  /* UART Tx and Rx Enabled */\r
91 \r
92 /* UART FIFO */\r
93 #define UART_FIFO_Disable           0xFFEF  /* FIFOs Disable */\r
94 #define UART_FIFO_Enable            0x0010  /* FIFOs Enable */\r
95 \r
96 /* UART Interrupt definition */\r
97 #define UART_IT_OverrunError        0x0400  /* Overrun Error interrupt */\r
98 #define UART_IT_BreakError          0x0200  /* Break Error interrupt */\r
99 #define UART_IT_ParityError         0x0100  /* Parity Error interrupt */\r
100 #define UART_IT_FrameError          0x0080  /* Frame Error interrupt */\r
101 #define UART_IT_ReceiveTimeOut      0x0040  /* Receive Time Out interrupt */\r
102 #define UART_IT_Transmit            0x0020  /* Transmit interrupt */\r
103 #define UART_IT_Receive             0x0010  /* Receive interrupt */\r
104 #define UART_IT_CTS                 0x0002  /* CTS interrupt */\r
105 \r
106 /* UART0 DMA transfer */\r
107 #define UART0_DMATransfer_Single    0xFFF7  /* Single DMA transfer */\r
108 #define UART0_DMATransfer_Burst     0x0008  /* Burst DMA transfer */\r
109 \r
110 /* UART0 DMA On Error */\r
111 #define UART0_DMAOnError_Enable     0xFFFB  /* DMA receive request enabled\r
112                                                 when the UART0 error interrupt\r
113                                                 is asserted. */\r
114 #define UART0_DMAOnError_Disable    0x0004  /* DMA receive request disabled\r
115                                                 when the UART0 error interrupt\r
116                                                 is asserted. */\r
117 \r
118 /* UART0 DMA Request */\r
119 #define UART0_DMAReq_Tx             0x0002  /* Transmit DMA Enable */\r
120 #define UART0_DMAReq_Rx             0x0001  /* Receive DMA Enable */\r
121 \r
122 /* UART FLAG */\r
123 #define UART_FLAG_OverrunError      0x23    /* Overrun error flag */\r
124 #define UART_FLAG_Break             0x22    /* break error flag */\r
125 #define UART_FLAG_ParityError       0x21    /* parity error flag */\r
126 #define UART_FLAG_FrameError        0x20    /* frame error flag */\r
127 #define UART_FLAG_TxFIFOEmpty       0x47    /* Transmit FIFO Empty flag */\r
128 #define UART_FLAG_RxFIFOFull        0x46    /* Receive FIFO Full flag */\r
129 #define UART_FLAG_TxFIFOFull        0x45    /* Transmit FIFO Full flag */\r
130 #define UART_FLAG_RxFIFOEmpty       0x44    /* Receive FIFO Empty flag */\r
131 #define UART_FLAG_Busy              0x43    /* UART Busy flag */\r
132 #define UART_FLAG_CTS               0x40    /* CTS flag */\r
133 #define UART_RawIT_OverrunError     0x6A    /* Overrun Error Masked IT flag */\r
134 #define UART_RawIT_BreakError       0x69    /* Break Error Masked IT flag */\r
135 #define UART_RawIT_ParityError      0x68    /* Parity Error Masked IT flag */\r
136 #define UART_RawIT_FrameError       0x67    /* Frame Error Masked IT flag */\r
137 #define UART_RawIT_ReceiveTimeOut   0x66    /* ReceiveTimeOut Masked IT flag */\r
138 #define UART_RawIT_Transmit         0x65    /* Transmit Masked IT flag */\r
139 #define UART_RawIT_Receive          0x64    /* Receive Masked IT flag */\r
140 #define UART_RawIT_CTS              0x61    /* CTS Masked IT flag */\r
141 \r
142 /* UART LIN break length */\r
143 #define UART_LINBreakLength_10      0x0000  /* 10 low bits */\r
144 #define UART_LINBreakLength_11      0x0200  /* 11 low bits */\r
145 #define UART_LINBreakLength_12      0x0400  /* 12 low bits */\r
146 #define UART_LINBreakLength_13      0x0600  /* 13 low bits */\r
147 #define UART_LINBreakLength_14      0x0800  /* 14 low bits */\r
148 #define UART_LINBreakLength_15      0x0A00  /* 15 low bits */\r
149 #define UART_LINBreakLength_16      0x0C00  /* 16 low bits */\r
150 #define UART_LINBreakLength_17      0x0E00  /* 17 low bits */\r
151 #define UART_LINBreakLength_18      0x1000  /* 18 low bits */\r
152 #define UART_LINBreakLength_19      0x1200  /* 19 low bits */\r
153 #define UART_LINBreakLength_20      0x1400  /* 20 low bits */\r
154 /* Exported macro ------------------------------------------------------------*/\r
155 /* Exported functions ------------------------------------------------------- */\r
156 \r
157 void UART_DeInit(UART_TypeDef* UARTx);\r
158 void UART_Init(UART_TypeDef* UARTx, UART_InitTypeDef* UART_InitStruct);\r
159 void UART_StructInit(UART_InitTypeDef* UART_InitStruct);\r
160 void UART_Cmd(UART_TypeDef* UARTx, FunctionalState NewState);\r
161 void UART_ITConfig(UART_TypeDef* UARTx, u16 UART_IT, FunctionalState NewState);\r
162 void UART_DMAConfig(u16 UART0_DMATransfer, u16 UART0_DMAOnError);\r
163 void UART_DMACmd(u16 UART0_DMAReq, FunctionalState NewState);\r
164 void UART_LoopBackConfig(UART_TypeDef* UARTx, FunctionalState NewState);\r
165 void UART_LINConfig(UART_TypeDef* UARTx, u16 UART_LINBreakLength);\r
166 void UART_LINCmd(UART_TypeDef* UARTx, FunctionalState NewState);\r
167 void UART_SendData(UART_TypeDef* UARTx, u8 Data);\r
168 u8 UART_ReceiveData(UART_TypeDef* UARTx);\r
169 void UART_SendBreak(UART_TypeDef* UARTx);\r
170 void UART_RTSConfig(UART_TypeDef* UARTx,UART_RTSTypeDef RTSState);\r
171 FlagStatus UART_GetFlagStatus(UART_TypeDef* UARTx, u16 UART_FLAG);\r
172 void UART_ClearFlag(UART_TypeDef* UARTx, u16 UART_FLAG);\r
173 ITStatus UART_GetITStatus(UART_TypeDef* UARTx, u16 UART_IT);\r
174 void UART_ClearITPendingBit(UART_TypeDef* UARTx, u16 UART_IT);\r
175 \r
176 #endif /* __75x_UART_H */\r
177 \r
178 /******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE****/\r