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.
TARGET_WIZWIKI_W7500/TOOLCHAIN_GCC_ARM/W7500x_uart.h@172:65be27845400, 2019-02-20 (annotated)
- 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?
User | Revision | Line number | New 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 | */ |