The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
Parent:
171:3a7713b1edbc
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 156:ff21514d8981 1 /*******************************************************************************************************************************************************
AnnaBridge 156:ff21514d8981 2 * Copyright ¨Ï 2016 <WIZnet Co.,Ltd.>
AnnaBridge 156:ff21514d8981 3 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ¡°Software¡±),
AnnaBridge 156:ff21514d8981 4 * to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
AnnaBridge 156:ff21514d8981 5 * and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
AnnaBridge 156:ff21514d8981 6 *
AnnaBridge 156:ff21514d8981 7 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
AnnaBridge 156:ff21514d8981 8
AnnaBridge 156:ff21514d8981 9 * THE SOFTWARE IS PROVIDED ¡°AS IS¡±, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
AnnaBridge 156:ff21514d8981 10 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
AnnaBridge 156:ff21514d8981 11 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
AnnaBridge 156:ff21514d8981 12 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
AnnaBridge 156:ff21514d8981 13 *********************************************************************************************************************************************************/
AnnaBridge 156:ff21514d8981 14 /**
AnnaBridge 156:ff21514d8981 15 ******************************************************************************
AnnaBridge 156:ff21514d8981 16 * @file W7500x_stdPeriph_Driver/inc/W7500x_uart.h
AnnaBridge 156:ff21514d8981 17 * @author IOP Team
AnnaBridge 156:ff21514d8981 18 * @version V1.0.0
AnnaBridge 156:ff21514d8981 19 * @date 01-May-2015
AnnaBridge 156:ff21514d8981 20 * @brief This file contains all the functions prototypes for the UART
AnnaBridge 156:ff21514d8981 21 * firmware library.
AnnaBridge 156:ff21514d8981 22 ******************************************************************************
AnnaBridge 156:ff21514d8981 23 *
AnnaBridge 156:ff21514d8981 24 ******************************************************************************
AnnaBridge 156:ff21514d8981 25 */
AnnaBridge 156:ff21514d8981 26
AnnaBridge 156:ff21514d8981 27 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 156:ff21514d8981 28 #ifndef __W7500X_UART_H
AnnaBridge 156:ff21514d8981 29 #define __W7500X_UART_H
AnnaBridge 156:ff21514d8981 30
AnnaBridge 156:ff21514d8981 31 #ifdef __cplusplus
AnnaBridge 156:ff21514d8981 32 extern "C" {
AnnaBridge 156:ff21514d8981 33 #endif
AnnaBridge 156:ff21514d8981 34
AnnaBridge 156:ff21514d8981 35 /* Includes ------------------------------------------------------------------*/
AnnaBridge 156:ff21514d8981 36 #include "W7500x.h"
AnnaBridge 156:ff21514d8981 37
AnnaBridge 156:ff21514d8981 38
AnnaBridge 156:ff21514d8981 39 /** @addtogroup W7500x_Periph_Driver
AnnaBridge 156:ff21514d8981 40 * @{
AnnaBridge 156:ff21514d8981 41 */
AnnaBridge 156:ff21514d8981 42
AnnaBridge 156:ff21514d8981 43 /** @addtogroup UART
AnnaBridge 156:ff21514d8981 44 * @{
AnnaBridge 156:ff21514d8981 45 */
AnnaBridge 156:ff21514d8981 46
AnnaBridge 156:ff21514d8981 47
AnnaBridge 156:ff21514d8981 48 /**
AnnaBridge 156:ff21514d8981 49 * @brief UART Init Structure definition
AnnaBridge 156:ff21514d8981 50 */
AnnaBridge 156:ff21514d8981 51
AnnaBridge 156:ff21514d8981 52 typedef struct
AnnaBridge 156:ff21514d8981 53 {
AnnaBridge 156:ff21514d8981 54 uint32_t UART_BaudRate;
AnnaBridge 156:ff21514d8981 55 uint16_t UART_WordLength;
AnnaBridge 156:ff21514d8981 56 uint16_t UART_StopBits;
AnnaBridge 156:ff21514d8981 57 uint16_t UART_Parity;
AnnaBridge 156:ff21514d8981 58 uint16_t UART_Mode;
AnnaBridge 156:ff21514d8981 59 uint16_t UART_HardwareFlowControl;
AnnaBridge 156:ff21514d8981 60 } UART_InitTypeDef;
AnnaBridge 156:ff21514d8981 61
AnnaBridge 156:ff21514d8981 62 /**
AnnaBridge 156:ff21514d8981 63 * @}
AnnaBridge 156:ff21514d8981 64 */
AnnaBridge 156:ff21514d8981 65
AnnaBridge 156:ff21514d8981 66
AnnaBridge 156:ff21514d8981 67 /** @defgroup UART_Exported_Constants
AnnaBridge 156:ff21514d8981 68 * @{
AnnaBridge 156:ff21514d8981 69 */
AnnaBridge 156:ff21514d8981 70
AnnaBridge 156:ff21514d8981 71 #define IS_UART_01_PERIPH(PERIPH) (((PERIPH) == UART0) || ((PERIPH) == UART1))
AnnaBridge 156:ff21514d8981 72 #define IS_UART_2_PERIPH(PERIPH) ((PERIPH) == UART2)
AnnaBridge 156:ff21514d8981 73
AnnaBridge 156:ff21514d8981 74 /**
AnnaBridge 156:ff21514d8981 75 * @}
AnnaBridge 156:ff21514d8981 76 */
AnnaBridge 156:ff21514d8981 77
AnnaBridge 156:ff21514d8981 78
AnnaBridge 156:ff21514d8981 79
AnnaBridge 156:ff21514d8981 80 /** @addtogroup UART_Word_Length
AnnaBridge 156:ff21514d8981 81 * @{
AnnaBridge 156:ff21514d8981 82 */
AnnaBridge 156:ff21514d8981 83
AnnaBridge 156:ff21514d8981 84 #define UART_WordLength_8b ((uint16_t)UART_LCR_H_WLEN(3))
AnnaBridge 156:ff21514d8981 85 #define UART_WordLength_7b ((uint16_t)UART_LCR_H_WLEN(2))
AnnaBridge 156:ff21514d8981 86 #define UART_WordLength_6b ((uint16_t)UART_LCR_H_WLEN(1))
AnnaBridge 156:ff21514d8981 87 #define UART_WordLength_5b ((uint16_t)UART_LCR_H_WLEN(0))
AnnaBridge 156:ff21514d8981 88 #define IS_UART_WORD_LENGTH(LENGTH) (((LENGTH) == UART_WordLength_8b) || \
AnnaBridge 156:ff21514d8981 89 ((LENGTH) == UART_WordLength_7b) || \
AnnaBridge 156:ff21514d8981 90 ((LENGTH) == UART_WordLength_6b) || \
AnnaBridge 156:ff21514d8981 91 ((LENGTH) == UART_WordLength_5b) )
AnnaBridge 156:ff21514d8981 92 /**
AnnaBridge 156:ff21514d8981 93 * @}
AnnaBridge 156:ff21514d8981 94 */
AnnaBridge 156:ff21514d8981 95
AnnaBridge 156:ff21514d8981 96
AnnaBridge 156:ff21514d8981 97 /** @addtogroup UART_Parity
AnnaBridge 156:ff21514d8981 98 * @{
AnnaBridge 156:ff21514d8981 99 */
AnnaBridge 156:ff21514d8981 100
AnnaBridge 156:ff21514d8981 101 #define UART_Parity_No ((uint16_t)0x0000)
AnnaBridge 156:ff21514d8981 102 #define UART_Parity_Even ((uint16_t)(UART_LCR_H_PEN | UART_LCR_H_EPS))
AnnaBridge 156:ff21514d8981 103 #define UART_Parity_Odd ((uint16_t)(UART_LCR_H_PEN))
AnnaBridge 156:ff21514d8981 104 #define IS_UART_PARITY(PARITY) (((PARITY) == UART_Parity_No) || \
AnnaBridge 156:ff21514d8981 105 ((PARITY) == UART_Parity_Even) || \
AnnaBridge 156:ff21514d8981 106 ((PARITY) == UART_Parity_Odd))
AnnaBridge 156:ff21514d8981 107
AnnaBridge 156:ff21514d8981 108 /**
AnnaBridge 156:ff21514d8981 109 * @}
AnnaBridge 156:ff21514d8981 110 */
AnnaBridge 156:ff21514d8981 111
AnnaBridge 156:ff21514d8981 112
AnnaBridge 156:ff21514d8981 113 /** @addtogroup UART_Stop_Bits
AnnaBridge 156:ff21514d8981 114 * @{
AnnaBridge 156:ff21514d8981 115 */
AnnaBridge 156:ff21514d8981 116
AnnaBridge 156:ff21514d8981 117 #define UART_StopBits_1 ((uint16_t)0x0000)
AnnaBridge 156:ff21514d8981 118 #define UART_StopBits_2 ((uint16_t)(UART_LCR_H_STP2))
AnnaBridge 156:ff21514d8981 119 #define IS_UART_STOPBITS(STOPBITS) (((STOPBITS) == UART_StopBits_1) || \
AnnaBridge 156:ff21514d8981 120 ((STOPBITS) == UART_StopBits_2))
AnnaBridge 156:ff21514d8981 121 /**
AnnaBridge 156:ff21514d8981 122 * @}
AnnaBridge 156:ff21514d8981 123 */
AnnaBridge 156:ff21514d8981 124
AnnaBridge 156:ff21514d8981 125
AnnaBridge 156:ff21514d8981 126 /** @addtogroup UART_Mode
AnnaBridge 156:ff21514d8981 127 * @{
AnnaBridge 156:ff21514d8981 128 */
AnnaBridge 156:ff21514d8981 129
AnnaBridge 156:ff21514d8981 130 #define UART_Mode_Rx ((uint16_t)(UART_CR_RXE))
AnnaBridge 156:ff21514d8981 131 #define UART_Mode_Tx ((uint16_t)(UART_CR_TXE))
AnnaBridge 156:ff21514d8981 132 #define IS_UART_MODE(MODE) (((MODE) == UART_Mode_Rx) || \
AnnaBridge 156:ff21514d8981 133 ((MODE) == UART_Mode_Tx) || \
AnnaBridge 156:ff21514d8981 134 ((MODE) == (UART_Mode_Rx | UART_Mode_Tx)))
AnnaBridge 156:ff21514d8981 135
AnnaBridge 156:ff21514d8981 136 /**
AnnaBridge 156:ff21514d8981 137 * @}
AnnaBridge 156:ff21514d8981 138 */
AnnaBridge 156:ff21514d8981 139
AnnaBridge 156:ff21514d8981 140
AnnaBridge 156:ff21514d8981 141 /** @addtogroup UART_Hardware_Flow_Control
AnnaBridge 156:ff21514d8981 142 * @{
AnnaBridge 156:ff21514d8981 143 */
AnnaBridge 156:ff21514d8981 144
AnnaBridge 156:ff21514d8981 145 #define UART_HardwareFlowControl_None ((uint16_t)0x0000)
AnnaBridge 156:ff21514d8981 146 #define UART_HardwareFlowControl_RTS ((uint16_t)UART_CR_RTSEn)
AnnaBridge 156:ff21514d8981 147 #define UART_HardwareFlowControl_CTS ((uint16_t)UART_CR_CTSEn)
AnnaBridge 156:ff21514d8981 148 #define UART_HardwareFlowControl_RTS_CTS ((uint16_t)(UART_CR_RTSEn | UART_CR_CTSEn))
AnnaBridge 156:ff21514d8981 149 #define IS_UART_HARDWARE_FLOW_CONTROL(CONTROL) \
AnnaBridge 156:ff21514d8981 150 (((CONTROL) == UART_HardwareFlowControl_None) || \
AnnaBridge 156:ff21514d8981 151 ((CONTROL) == UART_HardwareFlowControl_RTS) || \
AnnaBridge 156:ff21514d8981 152 ((CONTROL) == UART_HardwareFlowControl_CTS) || \
AnnaBridge 156:ff21514d8981 153 ((CONTROL) == UART_HardwareFlowControl_RTS_CTS))
AnnaBridge 156:ff21514d8981 154 /**
AnnaBridge 156:ff21514d8981 155 * @}
AnnaBridge 156:ff21514d8981 156 */
AnnaBridge 156:ff21514d8981 157
AnnaBridge 156:ff21514d8981 158
AnnaBridge 156:ff21514d8981 159 /** @addtogroup UART_DMA_Control
AnnaBridge 156:ff21514d8981 160 * @{
AnnaBridge 156:ff21514d8981 161 */
AnnaBridge 156:ff21514d8981 162
AnnaBridge 156:ff21514d8981 163 #define UART_DMAControl_DMAONERR ((uint16_t)UART_DMACR_DMAONERR)
AnnaBridge 156:ff21514d8981 164 #define UART_DMAControl_RXDMAE ((uint16_t)UART_DMACR_TXDMAE)
AnnaBridge 156:ff21514d8981 165 #define UART_DMAControl_TXDMAE ((uint16_t)UART_DMACR_RXDMAE)
AnnaBridge 156:ff21514d8981 166 #define IS_UART_DMA_CONTROL(CONTROL) \
AnnaBridge 156:ff21514d8981 167 (((CONTROL) == UART_DMAControl_DMAONERR) || \
AnnaBridge 156:ff21514d8981 168 ((CONTROL) == UART_DMAControl_TXDMAE) || \
AnnaBridge 156:ff21514d8981 169 ((CONTROL) == UART_DMAControl_RXDMAE))
AnnaBridge 156:ff21514d8981 170 /**
AnnaBridge 156:ff21514d8981 171 * @}
AnnaBridge 156:ff21514d8981 172 */
AnnaBridge 156:ff21514d8981 173
AnnaBridge 156:ff21514d8981 174
AnnaBridge 156:ff21514d8981 175 /** @addtogroup UART_Receive Status
AnnaBridge 156:ff21514d8981 176 * @{
AnnaBridge 156:ff21514d8981 177 */
AnnaBridge 156:ff21514d8981 178
AnnaBridge 156:ff21514d8981 179 #define UART_RECV_STATUS_OE ((uint16_t)0x01UL << 3) /*!< Overrun error */
AnnaBridge 156:ff21514d8981 180 #define UART_RECV_STATUS_BE ((uint16_t)0x01UL << 2) /*!< Break error */
AnnaBridge 156:ff21514d8981 181 #define UART_RECV_STATUS_PE ((uint16_t)0x01UL << 1) /*!< Parity error */
AnnaBridge 156:ff21514d8981 182 #define UART_RECV_STATUS_FE ((uint16_t)0x01UL << 0) /*!< Framing error */
AnnaBridge 156:ff21514d8981 183 #define IS_UART_RECV_STATUS(FLAG) (((FLAG) == UART_RECV_STATUS_OE) || ((FLAG) == UART_RECV_STATUS_BE) || \
AnnaBridge 156:ff21514d8981 184 ((FLAG) == UART_RECV_STATUS_PE) || ((FLAG) == UART_RECV_STATUS_FE))
AnnaBridge 156:ff21514d8981 185 /**
AnnaBridge 156:ff21514d8981 186 * @}
AnnaBridge 156:ff21514d8981 187 */
AnnaBridge 156:ff21514d8981 188
AnnaBridge 156:ff21514d8981 189
AnnaBridge 156:ff21514d8981 190
AnnaBridge 156:ff21514d8981 191 /** @addtogroup UART_Flags
AnnaBridge 156:ff21514d8981 192 * @{
AnnaBridge 156:ff21514d8981 193 */
AnnaBridge 156:ff21514d8981 194
AnnaBridge 156:ff21514d8981 195 #define UART_FLAG_RI ((uint16_t)0x01UL << 8) /*!< Ring indicator */
AnnaBridge 156:ff21514d8981 196 #define UART_FLAG_TXFE ((uint16_t)0x01UL << 7) /*!< Transmit FIFO empty */
AnnaBridge 156:ff21514d8981 197 #define UART_FLAG_RXFF ((uint16_t)0x01UL << 6) /*!< Receive FIFO full */
AnnaBridge 156:ff21514d8981 198 #define UART_FLAG_TXFF ((uint16_t)0x01UL << 5) /*!< Transmit FIFO full */
AnnaBridge 156:ff21514d8981 199 #define UART_FLAG_RXFE ((uint16_t)0x01UL << 4) /*!< Receive FIFO empty */
AnnaBridge 156:ff21514d8981 200 #define UART_FLAG_BUSY ((uint16_t)0x01UL << 3) /*!< UART busy */
AnnaBridge 156:ff21514d8981 201 #define UART_FLAG_DCD ((uint16_t)0x01UL << 2) /*!< Data carrier detect */
AnnaBridge 156:ff21514d8981 202 #define UART_FLAG_DSR ((uint16_t)0x01UL << 1) /*!< Data set ready */
AnnaBridge 156:ff21514d8981 203 #define UART_FLAG_CTS ((uint16_t)0x01UL << 0) /*!< Clear to send */
AnnaBridge 156:ff21514d8981 204 #define IS_UART_FLAG(FLAG) (((FLAG) == UART_FLAG_RI) || ((FLAG) == UART_FLAG_TXFE) || \
AnnaBridge 156:ff21514d8981 205 ((FLAG) == UART_FLAG_RXFF) || ((FLAG) == UART_FLAG_TXFF) || \
AnnaBridge 156:ff21514d8981 206 ((FLAG) == UART_FLAG_RXFE) || ((FLAG) == UART_FLAG_BUSY) || \
AnnaBridge 156:ff21514d8981 207 ((FLAG) == UART_FLAG_DCD) || ((FLAG) == UART_FLAG_DSR) || \
AnnaBridge 156:ff21514d8981 208 ((FLAG) == UART_FLAG_CTS))
AnnaBridge 156:ff21514d8981 209
AnnaBridge 156:ff21514d8981 210 /**
AnnaBridge 156:ff21514d8981 211 * @}
AnnaBridge 156:ff21514d8981 212 */
AnnaBridge 156:ff21514d8981 213
AnnaBridge 156:ff21514d8981 214
AnnaBridge 156:ff21514d8981 215 /** @addtogroup UART_IT_Flags
AnnaBridge 156:ff21514d8981 216 * @{
AnnaBridge 156:ff21514d8981 217 */
AnnaBridge 156:ff21514d8981 218
AnnaBridge 156:ff21514d8981 219 #define UART_IT_FLAG_OEI ((uint16_t)0x01UL << 10) /*!< Overrun error interrupt */
AnnaBridge 156:ff21514d8981 220 #define UART_IT_FLAG_BEI ((uint16_t)0x01UL << 9) /*!< Break error interrupt */
AnnaBridge 156:ff21514d8981 221 #define UART_IT_FLAG_PEI ((uint16_t)0x01UL << 8) /*!< Parity error interrupt */
AnnaBridge 156:ff21514d8981 222 #define UART_IT_FLAG_FEI ((uint16_t)0x01UL << 7) /*!< Framing error interrupt */
AnnaBridge 156:ff21514d8981 223 #define UART_IT_FLAG_RTI ((uint16_t)0x01UL << 6) /*!< Receive timeout interrupt */
AnnaBridge 156:ff21514d8981 224 #define UART_IT_FLAG_TXI ((uint16_t)0x01UL << 5) /*!< Transmit interrupt */
AnnaBridge 156:ff21514d8981 225 #define UART_IT_FLAG_RXI ((uint16_t)0x01UL << 4) /*!< Receive interrupt */
AnnaBridge 156:ff21514d8981 226 #define UART_IT_FLAG_DSRMI ((uint16_t)0x01UL << 3) /*!< UARTDSR modem interrupt */
AnnaBridge 156:ff21514d8981 227 #define UART_IT_FLAG_DCDMI ((uint16_t)0x01UL << 2) /*!< UARTDCD modem interrupt */
AnnaBridge 156:ff21514d8981 228 #define UART_IT_FLAG_CTSMI ((uint16_t)0x01UL << 1) /*!< UARTCTS modem interrupt */
AnnaBridge 156:ff21514d8981 229 #define UART_IT_FLAG_RIMI ((uint16_t)0x01UL << 0) /*!< UARTRI modem interrupt */
AnnaBridge 156:ff21514d8981 230 #define IS_UART_IT_FLAG(FLAG) (((FLAG) == UART_IT_FLAG_OEI) || ((FLAG) == UART_IT_FLAG_BEI) || \
AnnaBridge 156:ff21514d8981 231 ((FLAG) == UART_IT_FLAG_PEI) || ((FLAG) == UART_IT_FLAG_FEI) || \
AnnaBridge 156:ff21514d8981 232 ((FLAG) == UART_IT_FLAG_RTI) || ((FLAG) == UART_IT_FLAG_TXI) || \
AnnaBridge 156:ff21514d8981 233 ((FLAG) == UART_IT_FLAG_RXI) || ((FLAG) == UART_IT_FLAG_DSRMI) || \
AnnaBridge 156:ff21514d8981 234 ((FLAG) == UART_IT_FLAG_DCDMI)|| ((FLAG) == UART_IT_FLAG_CTSMI) || \
AnnaBridge 156:ff21514d8981 235 ((FLAG) == UART_IT_FLAG_RIMI))
AnnaBridge 156:ff21514d8981 236 /**
AnnaBridge 156:ff21514d8981 237 * @}
AnnaBridge 156:ff21514d8981 238 */
AnnaBridge 156:ff21514d8981 239 /** @addtogroup UART_FIFO_Level Select
AnnaBridge 156:ff21514d8981 240 * @{
AnnaBridge 156:ff21514d8981 241 */
AnnaBridge 156:ff21514d8981 242
AnnaBridge 156:ff21514d8981 243 #define UART_IFLS_RXIFLSEL7_8 ((uint16_t)(UART_IFLS_RXIFLSEL(4)))
AnnaBridge 156:ff21514d8981 244 #define UART_IFLS_RXIFLSEL3_4 ((uint16_t)(UART_IFLS_RXIFLSEL(3)))
AnnaBridge 156:ff21514d8981 245 #define UART_IFLS_RXIFLSEL1_2 ((uint16_t)(UART_IFLS_RXIFLSEL(2)))
AnnaBridge 156:ff21514d8981 246 #define UART_IFLS_RXIFLSEL1_4 ((uint16_t)(UART_IFLS_RXIFLSEL(1)))
AnnaBridge 156:ff21514d8981 247 #define UART_IFLS_RXIFLSEL1_8 ((uint16_t)(UART_IFLS_RXIFLSEL(0)))
AnnaBridge 156:ff21514d8981 248 #define UART_IFLS_TXIFLSEL7_8 ((uint16_t)(UART_IFLS_TXIFLSEL(4)))
AnnaBridge 156:ff21514d8981 249 #define UART_IFLS_TXIFLSEL3_4 ((uint16_t)(UART_IFLS_TXIFLSEL(3)))
AnnaBridge 156:ff21514d8981 250 #define UART_IFLS_TXIFLSEL1_2 ((uint16_t)(UART_IFLS_TXIFLSEL(2)))
AnnaBridge 156:ff21514d8981 251 #define UART_IFLS_TXIFLSEL1_4 ((uint16_t)(UART_IFLS_TXIFLSEL(1)))
AnnaBridge 156:ff21514d8981 252 #define UART_IFLS_TXIFLSEL1_8 ((uint16_t)(UART_IFLS_TXIFLSEL(0)))
AnnaBridge 156:ff21514d8981 253
AnnaBridge 156:ff21514d8981 254 #define IS_UART_FIFO_Level(FLAG) (((FLAG) == UART_IFLS_RXIFLSEL7_8) || ((FLAG) == UART_IFLS_RXIFLSEL3_4)|| \
AnnaBridge 156:ff21514d8981 255 ((FLAG) == UART_IFLS_RXIFLSEL1_2)|| ((FLAG) == UART_IFLS_RXIFLSEL1_4)|| ((FLAG) == UART_IFLS_RXIFLSEL1_8)||\
AnnaBridge 156:ff21514d8981 256 ((FLAG) == UART_IFLS_TXIFLSEL7_8)|| ((FLAG) == UART_IFLS_TXIFLSEL3_4)|| \
AnnaBridge 156:ff21514d8981 257 ((FLAG) == UART_IFLS_TXIFLSEL1_2)|| ((FLAG) == UART_IFLS_TXIFLSEL1_4)||((FLAG) == UART_IFLS_TXIFLSEL1_8))
AnnaBridge 156:ff21514d8981 258
AnnaBridge 156:ff21514d8981 259 /**
AnnaBridge 156:ff21514d8981 260 * @}
AnnaBridge 156:ff21514d8981 261 */
AnnaBridge 156:ff21514d8981 262
AnnaBridge 156:ff21514d8981 263 /** @addtogroup S_UART_Flags
AnnaBridge 156:ff21514d8981 264 * @{
AnnaBridge 156:ff21514d8981 265 */
AnnaBridge 156:ff21514d8981 266 #define S_UART_STATE_RXO ((uint16_t)0x01UL << 3) /*!< RX buffer Overrun */
AnnaBridge 156:ff21514d8981 267 #define S_UART_STATE_TXO ((uint16_t)0x01UL << 2) /*!< TX buffer Overrun */
AnnaBridge 156:ff21514d8981 268 #define S_UART_STATE_RXF ((uint16_t)0x01UL << 1) /*!< RX buffer Full */
AnnaBridge 156:ff21514d8981 269 #define S_UART_STATE_TXF ((uint16_t)0x01UL << 0) /*!< TX buffer Full */
AnnaBridge 156:ff21514d8981 270 #define IS_S_UART_STATE(FLAG) (((FLAG) == S_UART_STATE_RXO) || ((FLAG) == S_UART_STATE_TXO) || \
AnnaBridge 156:ff21514d8981 271 ((FLAG) == S_UART_STATE_RXF) || ((FLAG) == S_UART_STATE_TXF))
AnnaBridge 156:ff21514d8981 272 /**
AnnaBridge 156:ff21514d8981 273 * @}
AnnaBridge 156:ff21514d8981 274 */
AnnaBridge 156:ff21514d8981 275
AnnaBridge 156:ff21514d8981 276
AnnaBridge 156:ff21514d8981 277 /** @addtogroup S_UART_CTRL_Flags
AnnaBridge 156:ff21514d8981 278 * @{
AnnaBridge 156:ff21514d8981 279 */
AnnaBridge 156:ff21514d8981 280
AnnaBridge 156:ff21514d8981 281 #define S_UART_CTRL_RXOI ((uint16_t)0x01UL << 5) /*!< RX overrun interrupt */
AnnaBridge 156:ff21514d8981 282 #define S_UART_CTRL_TXOI ((uint16_t)0x01UL << 4) /*!< TX overrun interrupt */
AnnaBridge 156:ff21514d8981 283 #define S_UART_CTRL_RXI ((uint16_t)0x01UL << 3) /*!< RX interrupt */
AnnaBridge 156:ff21514d8981 284 #define S_UART_CTRL_TXI ((uint16_t)0x01UL << 2) /*!< TX interrupt */
AnnaBridge 156:ff21514d8981 285 #define S_UART_CTRL_RX ((uint16_t)0x01UL << 1) /*!< RX */
AnnaBridge 156:ff21514d8981 286 #define S_UART_CTRL_TX ((uint16_t)0x01UL << 0) /*!< TX */
AnnaBridge 156:ff21514d8981 287
AnnaBridge 156:ff21514d8981 288
AnnaBridge 156:ff21514d8981 289 #define IS_S_UART_CTRL_FLAG(FLAG) (((FLAG) == S_UART_CTRL_FLAG_RXOI) || ((FLAG) == S_UART_CTRL_FLAG_TXOI) || \
AnnaBridge 156:ff21514d8981 290 ((FLAG) == S_UART_CTRL_FLAG_RXI) || ((FLAG) == S_UART_CTRL_FLAG_TXI) || \
AnnaBridge 156:ff21514d8981 291 ((FLAG) == S_UART_CTRL_FLAG_RX) || ((FLAG) == S_UART_CTRL_FLAG_TX))
AnnaBridge 156:ff21514d8981 292 /**
AnnaBridge 156:ff21514d8981 293 * @}
AnnaBridge 156:ff21514d8981 294 */
AnnaBridge 156:ff21514d8981 295
AnnaBridge 156:ff21514d8981 296
AnnaBridge 156:ff21514d8981 297 /** @addtogroup S_UART_IT_Flags
AnnaBridge 156:ff21514d8981 298 * @{
AnnaBridge 156:ff21514d8981 299 */
AnnaBridge 156:ff21514d8981 300
AnnaBridge 156:ff21514d8981 301 #define S_UART_INTSTATUS_RXOI ((uint16_t)0x01UL << 3) /*!< RX overrun interrupt */
AnnaBridge 156:ff21514d8981 302 #define S_UART_INTSTATUS_TXOI ((uint16_t)0x01UL << 2) /*!< TX overrun interrupt */
AnnaBridge 156:ff21514d8981 303 #define S_UART_INTSTATUS_RXI ((uint16_t)0x01UL << 1) /*!< RX interrupt */
AnnaBridge 156:ff21514d8981 304 #define S_UART_INTSTATUS_TXI ((uint16_t)0x01UL << 0) /*!< TX interrupt */
AnnaBridge 156:ff21514d8981 305 #define IS_S_UART_INTSTATUS(FLAG) (((FLAG) == S_UART_INTSTATUS_RXOI) || ((FLAG) == S_UART_INTSTATUS_TXOI) || \
AnnaBridge 156:ff21514d8981 306 ((FLAG) == S_UART_INTSTATUS_RXI) || ((FLAG) == S_UART_INTSTATUS_TXI))
AnnaBridge 156:ff21514d8981 307 /**
AnnaBridge 156:ff21514d8981 308 * @}
AnnaBridge 156:ff21514d8981 309 */
AnnaBridge 156:ff21514d8981 310
AnnaBridge 156:ff21514d8981 311
AnnaBridge 156:ff21514d8981 312 void UART_StructInit (UART_InitTypeDef* UART_InitStruct);
AnnaBridge 156:ff21514d8981 313
AnnaBridge 156:ff21514d8981 314 uint32_t UART_Init (UART_TypeDef *UARTx, UART_InitTypeDef* UART_InitStruct);
AnnaBridge 156:ff21514d8981 315 void UART_FIFO_Enable (UART_TypeDef *UARTx, uint16_t rx_fifo_level, uint16_t tx_fifo_level);
AnnaBridge 156:ff21514d8981 316 void UART_FIFO_Disable (UART_TypeDef *UARTx);
AnnaBridge 156:ff21514d8981 317 void UART_SendData (UART_TypeDef* UARTx, uint16_t Data);
AnnaBridge 156:ff21514d8981 318 uint16_t UART_ReceiveData (UART_TypeDef* UARTx);
AnnaBridge 156:ff21514d8981 319 void UART_SendBreak (UART_TypeDef* UARTx);
AnnaBridge 156:ff21514d8981 320 void UART_ClearRecvStatus (UART_TypeDef* UARTx, uint16_t UART_RECV_STATUS);
AnnaBridge 156:ff21514d8981 321 FlagStatus UART_GetFlagStatus (UART_TypeDef* UARTx, uint16_t UART_FLAG);
AnnaBridge 156:ff21514d8981 322 void UART_ITConfig (UART_TypeDef* UARTx, uint16_t UART_IT, FunctionalState NewState);
AnnaBridge 156:ff21514d8981 323 ITStatus UART_GetITStatus (UART_TypeDef* UARTx, uint16_t UART_IT);
AnnaBridge 156:ff21514d8981 324 void UART_ClearITPendingBit (UART_TypeDef* UARTx, uint16_t UART_IT);
AnnaBridge 156:ff21514d8981 325 void UART_DMA_Config(UART_TypeDef* UARTx, uint16_t UART_DMA_CONTROL);
AnnaBridge 156:ff21514d8981 326
AnnaBridge 156:ff21514d8981 327 uint8_t UartPutc (UART_TypeDef* UARTx, uint8_t ch);
AnnaBridge 156:ff21514d8981 328 void UartPuts (UART_TypeDef* UARTx, uint8_t *str);
AnnaBridge 156:ff21514d8981 329 uint8_t UartGetc (UART_TypeDef* UARTx);
AnnaBridge 156:ff21514d8981 330
AnnaBridge 156:ff21514d8981 331 void S_UART_DeInit (void);
AnnaBridge 156:ff21514d8981 332 uint32_t S_UART_Init (uint32_t baud);
AnnaBridge 156:ff21514d8981 333 void S_UART_SetBaud (uint32_t baud);
AnnaBridge 156:ff21514d8981 334 void S_UART_SetCTRL (uint16_t S_UART_CTRL, FunctionalState NewState);
AnnaBridge 156:ff21514d8981 335 void S_UART_SendData (uint16_t Data);
AnnaBridge 156:ff21514d8981 336 uint16_t S_UART_ReceiveData(void);
AnnaBridge 156:ff21514d8981 337
AnnaBridge 156:ff21514d8981 338 uint8_t S_UartPutc (uint8_t ch);
AnnaBridge 156:ff21514d8981 339 void S_UartPuts (uint8_t *str);
AnnaBridge 156:ff21514d8981 340 uint8_t S_UartGetc (void);
AnnaBridge 156:ff21514d8981 341
AnnaBridge 156:ff21514d8981 342 FlagStatus S_UART_GetFlagStatus (uint16_t S_UART_STATE);
AnnaBridge 156:ff21514d8981 343 void S_UART_ITConfig (uint16_t S_UART_CTRL, FunctionalState NewState);
AnnaBridge 156:ff21514d8981 344
AnnaBridge 156:ff21514d8981 345 ITStatus S_UART_GetITStatus (uint16_t S_UART_IT);
AnnaBridge 156:ff21514d8981 346 void S_UART_ClearITPendingBit(uint16_t S_UART_IT);
AnnaBridge 156:ff21514d8981 347
AnnaBridge 156:ff21514d8981 348
AnnaBridge 156:ff21514d8981 349 #ifdef __cplusplus
AnnaBridge 156:ff21514d8981 350 }
AnnaBridge 156:ff21514d8981 351 #endif
AnnaBridge 156:ff21514d8981 352
AnnaBridge 156:ff21514d8981 353
AnnaBridge 156:ff21514d8981 354 #endif // __W7500X_UART_H
AnnaBridge 156:ff21514d8981 355
AnnaBridge 156:ff21514d8981 356 /**
AnnaBridge 156:ff21514d8981 357 * @}
AnnaBridge 156:ff21514d8981 358 */
AnnaBridge 156:ff21514d8981 359
AnnaBridge 156:ff21514d8981 360 /**
AnnaBridge 156:ff21514d8981 361 * @}
AnnaBridge 156:ff21514d8981 362 */