Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
m480_uart_reg.h
00001 /**************************************************************************//** 00002 * @file uart_reg.h 00003 * @version V1.00 00004 * @brief UART register definition header file 00005 * 00006 * @copyright (C) 2017 Nuvoton Technology Corp. All rights reserved. 00007 * 00008 * Redistribution and use in source and binary forms, with or without modification, 00009 * are permitted provided that the following conditions are met: 00010 * 1. Redistributions of source code must retain the above copyright notice, 00011 * this list of conditions and the following disclaimer. 00012 * 2. Redistributions in binary form must reproduce the above copyright notice, 00013 * this list of conditions and the following disclaimer in the documentation 00014 * and/or other materials provided with the distribution. 00015 * 3. Neither the name of Nuvoton Technology Corp. nor the names of its contributors 00016 * may be used to endorse or promote products derived from this software 00017 * without specific prior written permission. 00018 * 00019 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00020 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00021 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00022 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 00023 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00024 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00025 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00026 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00027 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00028 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00029 *****************************************************************************/ 00030 #ifndef __UART_REG_H__ 00031 #define __UART_REG_H__ 00032 00033 #if defined ( __CC_ARM ) 00034 #pragma anon_unions 00035 #endif 00036 00037 /** 00038 @addtogroup REGISTER Control Register 00039 @{ 00040 */ 00041 00042 /** 00043 @addtogroup UART Universal Asynchronous Receiver/Transmitter Controller(UART) 00044 Memory Mapped Structure for UART Controller 00045 @{ */ 00046 00047 typedef struct { 00048 00049 00050 /** 00051 * @var UART_T::DAT 00052 * Offset: 0x00 UART Receive/Transmit Buffer Register 00053 * --------------------------------------------------------------------------------------------------- 00054 * |Bits |Field |Descriptions 00055 * | :----: | :----: | :---- | 00056 * |[7:0] |DAT |Data Receive/Transmit Buffer 00057 * | | |Write Operation: 00058 * | | |By writing one byte to this register, the data byte will be stored in transmitter FIFO 00059 * | | |The UART controller will send out the data stored in transmitter FIFO top location through the UART_TXD. 00060 * | | |Read Operation: 00061 * | | |By reading this register, the UART controller will return an 8-bit data received from receiver FIFO. 00062 * |[8] |PARITY |Parity Bit Receive/Transmit Buffer 00063 * | | |Write Operation: 00064 * | | |By writing to this bit, the parity bit will be stored in transmitter FIFO 00065 * | | |If PBE (UART_LINE[3]) and PSS (UART_LINE[7]) are set, 00066 * | | |the UART controller will send out this bit follow the DAT (UART_DAT[7:0]) through the UART_TXD. 00067 * | | |Read Operation: 00068 * | | |If PBE (UART_LINE[3]) and PSS (UART_LINE[7]) are enabled, the parity bit can be read by this bit. 00069 * | | |Note: This bit has effect only when PBE (UART_LINE[3]) and PSS (UART_LINE[7]) are set. 00070 * @var UART_T::INTEN 00071 * Offset: 0x04 UART Interrupt Enable Register 00072 * --------------------------------------------------------------------------------------------------- 00073 * |Bits |Field |Descriptions 00074 * | :----: | :----: | :---- | 00075 * |[0] |RDAIEN |Receive Data Available Interrupt Enable Bit 00076 * | | |0 = Receive data available interrupt Disabled. 00077 * | | |1 = Receive data available interrupt Enabled. 00078 * |[1] |THREIEN |Transmit Holding Register Empty Interrupt Enable Bit 00079 * | | |0 = Transmit holding register empty interrupt Disabled. 00080 * | | |1 = Transmit holding register empty interrupt Enabled. 00081 * |[2] |RLSIEN |Receive Line Status Interrupt Enable Bit 00082 * | | |0 = Receive Line Status interrupt Disabled. 00083 * | | |1 = Receive Line Status interrupt Enabled. 00084 * |[3] |MODEMIEN |Modem Status Interrupt Enable Bit 00085 * | | |0 = Modem status interrupt Disabled. 00086 * | | |1 = Modem status interrupt Enabled. 00087 * |[4] |RXTOIEN |RX Time-out Interrupt Enable Bit 00088 * | | |0 = RX time-out interrupt Disabled. 00089 * | | |1 = RX time-out interrupt Enabled. 00090 * |[5] |BUFERRIEN |Buffer Error Interrupt Enable Bit 00091 * | | |0 = Buffer error interrupt Disabled. 00092 * | | |1 = Buffer error interrupt Enabled. 00093 * |[6] |WKIEN |Wake-up Interrupt Enable Bit 00094 * | | |0 = Wake-up Interrupt Disabled. 00095 * | | |1 = Wake-up Interrupt Enabled. 00096 * |[8] |LINIEN |LIN Bus Interrupt Enable Bit 00097 * | | |0 = LIN bus interrupt Disabled. 00098 * | | |1 = LIN bus interrupt Enabled. 00099 * | | |Note: This bit is used for LIN function mode. 00100 * |[11] |TOCNTEN |Receive Buffer Time-out Counter Enable Bit 00101 * | | |0 = Receive Buffer Time-out counter Disabled. 00102 * | | |1 = Receive Buffer Time-out counter Enabled. 00103 * |[12] |ATORTSEN |nRTS Auto-flow Control Enable Bit 00104 * | | |0 = nRTS auto-flow control Disabled. 00105 * | | |1 = nRTS auto-flow control Enabled. 00106 * | | |Note: When nRTS auto-flow is enabled, if the number of bytes in the RX FIFO equals the RTSTRGLV (UART_FIFO[19:16]), the UART will de-assert nRTS signal. 00107 * |[13] |ATOCTSEN |nCTS Auto-flow Control Enable Bit 00108 * | | |0 = nCTS auto-flow control Disabled. 00109 * | | |1 = nCTS auto-flow control Enabled. 00110 * | | |Note: When nCTS auto-flow is enabled, the UART will send data to external device if nCTS input assert (UART will not send data to device until nCTS is asserted). 00111 * |[14] |TXPDMAEN |TX PDMA Enable Bit 00112 * | | |This bit can enable or disable TX PDMA service. 00113 * | | |0 = TX PDMA Disabled. 00114 * | | |1 = TX PDMA Enabled. 00115 * | | |Note: If RLSIEN (UART_INTEN[2]) is enabled and HWRLSINT (UART_INTSTS[26]) is set to 1, the RLS (Receive Line Status) Interrupt is caused 00116 * | | |If RLS interrupt is caused by Break Error Flag BIF(UART_FIFOSTS[6]), Frame Error Flag FEF(UART_FIFO[5]) or Parity Error Flag PEF(UART_FIFOSTS[4]) , UART PDMA transmit request operation is stop 00117 * | | |Clear Break Error Flag BIF or Frame Error Flag FEF or Parity Error Flag PEF by writing '1' to corresponding BIF, FEF and PEF to make UART PDMA transmit request operation continue. 00118 * |[15] |RXPDMAEN |RX PDMA Enable Bit 00119 * | | |This bit can enable or disable RX PDMA service. 00120 * | | |0 = RX PDMA Disabled. 00121 * | | |1 = RX PDMA Enabled. 00122 * | | |Note: If RLSIEN (UART_INTEN[2]) is enabled and HWRLSINT (UART_INTSTS[26]) is set to 1, the RLS (Receive Line Status) Interrupt is caused 00123 * | | |If RLS interrupt is caused by Break Error Flag BIF(UART_FIFOSTS[6]), Frame Error Flag FEF(UART_FIFO[5]) or Parity Error Flag PEF(UART_FIFOSTS[4]) , UART PDMA receive request operation is stop 00124 * | | |Clear Break Error Flag BIF or Frame Error Flag FEF or Parity Error Flag PEF by writing '1' to corresponding BIF, FEF and PEF to make UART PDMA receive request operation continue. 00125 * |[18] |ABRIEN |Auto-baud Rate Interrupt Enable Bit 00126 * | | |0 = Auto-baud rate interrupt Disabled. 00127 * | | |1 = Auto-baud rate interrupt Enabled. 00128 * |[22] |TXENDIEN |Transmitter Empty Interrupt Enable Bit 00129 * | | |If TXENDIEN (UART_INTEN[22]) is enabled, the Transmitter Empty interrupt TXENDINT (UART_INTSTS[30]) will be generated when TXENDIF (UART_INTSTS[22]) is set (TX FIFO (UART_DAT) is empty and the STOP bit of the last byte has been transmitted). 00130 * | | |0 = Transmitter empty interrupt Disabled. 00131 * | | |1 = Transmitter empty interrupt Enabled. 00132 * @var UART_T::FIFO 00133 * Offset: 0x08 UART FIFO Control Register 00134 * --------------------------------------------------------------------------------------------------- 00135 * |Bits |Field |Descriptions 00136 * | :----: | :----: | :---- | 00137 * |[1] |RXRST |RX Field Software Reset 00138 * | | |When RXRST (UART_FIFO[1]) is set, all the byte in the receiver FIFO and RX internal state machine are cleared. 00139 * | | |0 = No effect. 00140 * | | |1 = Reset the RX internal state machine and pointers. 00141 * | | |Note1: This bit will automatically clear at least 3 UART peripheral clock cycles. 00142 * | | |Note2: Before setting this bit, it should wait for the RXIDLE (UART_FIFOSTS[29]) be set. 00143 * |[2] |TXRST |TX Field Software Reset 00144 * | | |When TXRST (UART_FIFO[2]) is set, all the byte in the transmit FIFO and TX internal state machine are cleared. 00145 * | | |0 = No effect. 00146 * | | |1 = Reset the TX internal state machine and pointers. 00147 * | | |Note1: This bit will automatically clear at least 3 UART peripheral clock cycles. 00148 * | | |Note2: Before setting this bit, it should wait for the TXEMPTYF (UART_FIFOSTS[28]) be set. 00149 * |[7:4] |RFITL |RX FIFO Interrupt Trigger Level 00150 * | | |When the number of bytes in the receive FIFO equals the RFITL, the RDAIF (UART_INTSTS[0]) will be set (if RDAIEN (UART_INTEN [0]) enabled, and an interrupt will be generated). 00151 * | | |0000 = RX FIFO Interrupt Trigger Level is 1 byte. 00152 * | | |0001 = RX FIFO Interrupt Trigger Level is 4 bytes. 00153 * | | |0010 = RX FIFO Interrupt Trigger Level is 8 bytes. 00154 * | | |0011 = RX FIFO Interrupt Trigger Level is 14 bytes. 00155 * | | |Others = Reserved. 00156 * |[8] |RXOFF |Receiver Disable Bit 00157 * | | |The receiver is disabled or not (set 1 to disable receiver). 00158 * | | |0 = Receiver Enabled. 00159 * | | |1 = Receiver Disabled. 00160 * | | |Note: This bit is used for RS-485 Normal Multi-drop mode 00161 * | | |It should be programmed before RS485NMM (UART_ALTCTL [8]) is programmed. 00162 * |[19:16] |RTSTRGLV |nRTS Trigger Level for Auto-flow Control Use 00163 * | | |0000 = nRTS Trigger Level is 1 byte. 00164 * | | |0001 = nRTS Trigger Level is 4 bytes. 00165 * | | |0010 = nRTS Trigger Level is 8 bytes. 00166 * | | |0011 = nRTS Trigger Level is 14 bytes. 00167 * | | |Others = Reserved. 00168 * | | |Note: This field is used for auto nRTS flow control. 00169 * @var UART_T::LINE 00170 * Offset: 0x0C UART Line Control Register 00171 * --------------------------------------------------------------------------------------------------- 00172 * |Bits |Field |Descriptions 00173 * | :----: | :----: | :---- | 00174 * |[1:0] |WLS |Word Length Selection 00175 * | | |This field sets UART word length. 00176 * | | |00 = 5 bits. 00177 * | | |01 = 6 bits. 00178 * | | |10 = 7 bits. 00179 * | | |11 = 8 bits. 00180 * |[2] |NSB |Number of 'STOP Bit' 00181 * | | |0 = One 'STOP bit' is generated in the transmitted data. 00182 * | | |1 = When select 5-bit word length, 1.5 'STOP bit' is generated in the transmitted data 00183 * | | |When select 6-, 7- and 8-bit word length, 2 'STOP bit' is generated in the transmitted data. 00184 * |[3] |PBE |Parity Bit Enable Bit 00185 * | | |0 = Parity bit generated Disabled. 00186 * | | |1 = Parity bit generated Enabled. 00187 * | | |Note: Parity bit is generated on each outgoing character and is checked on each incoming data. 00188 * |[4] |EPE |Even Parity Enable Bit 00189 * | | |0 = Odd number of logic '1's is transmitted and checked in each word. 00190 * | | |1 = Even number of logic '1's is transmitted and checked in each word. 00191 * | | |Note: This bit has effect only when PBE (UART_LINE[3]) is set. 00192 * |[5] |SPE |Stick Parity Enable Bit 00193 * | | |0 = Stick parity Disabled. 00194 * | | |1 = Stick parity Enabled. 00195 * | | |Note: If PBE (UART_LINE[3]) and EPE (UART_LINE[4]) are logic 1, the parity bit is transmitted and checked as logic 0 00196 * | | |If PBE (UART_LINE[3]) is 1 and EPE (UART_LINE[4]) is 0 then the parity bit is transmitted and checked as 1. 00197 * |[6] |BCB |Break Control Bit 00198 * | | |0 = Break Control Disabled. 00199 * | | |1 = Break Control Enabled. 00200 * | | |Note: When this bit is set to logic 1, the transmitted serial data output (TX) is forced to the Spacing State (logic 0) 00201 * | | |This bit acts only on TX line and has no effect on the transmitter logic. 00202 * |[7] |PSS |Parity Bit Source Selection 00203 * | | |The parity bit can be selected to be generated and checked automatically or by software. 00204 * | | |0 = Parity bit is generated by EPE (UART_LINE[4]) and SPE (UART_LINE[5]) setting and checked automatically. 00205 * | | |1 = Parity bit generated and checked by software. 00206 * | | |Note1: This bit has effect only when PBE (UART_LINE[3]) is set. 00207 * | | |Note2: If PSS is 0, the parity bit is transmitted and checked automatically 00208 * | | |If PSS is 1, the transmitted parity bit value can be determined by writing PARITY (UART_DAT[8]) and the parity bit can be read by reading PARITY (UART_DAT[8]). 00209 * |[8] |TXDINV |TX Data Inverted 00210 * | | |0 = Transmitted data signal inverted Disabled. 00211 * | | |1 = Transmitted data signal inverted Enabled. 00212 * | | |Note1: Before setting this bit, TXRXDIS (UART_FUNCSEL[3]) should be set then waited for TXRXACT (UART_FIFOSTS[31]) is cleared 00213 * | | |When the configuration is done, cleared TXRXDIS (UART_FUNCSEL[3]) to activate UART controller. 00214 * | | |Note2: This bit is valid when FUNCSEL (UART_FUNCSEL[1:0]) is select UART, LIN or RS485 function. 00215 * |[9] |RXDINV |RX Data Inverted 00216 * | | |0 = Received data signal inverted Disabled. 00217 * | | |1 = Received data signal inverted Enabled. 00218 * | | |Note1: Before setting this bit, TXRXDIS (UART_FUNCSEL[3]) should be set then waited for TXRXACT (UART_FIFOSTS[31]) is cleared 00219 * | | |When the configuration is done, cleared TXRXDIS (UART_FUNCSEL[3]) to activate UART controller. 00220 * | | |Note2: This bit is valid when FUNCSEL (UART_FUNCSEL[1:0]) is select UART, LIN or RS485 function. 00221 * @var UART_T::MODEM 00222 * Offset: 0x10 UART Modem Control Register 00223 * --------------------------------------------------------------------------------------------------- 00224 * |Bits |Field |Descriptions 00225 * | :----: | :----: | :---- | 00226 * |[1] |RTS |nRTS (Request-to-send) Signal Control 00227 * | | |This bit is direct control internal nRTS signal active or not, and then drive the nRTS pin output with RTSACTLV bit configuration. 00228 * | | |0 = nRTS signal is active. 00229 * | | |1 = nRTS signal is inactive. 00230 * | | |Note1: This nRTS signal control bit is not effective when nRTS auto-flow control is enabled in UART function mode. 00231 * | | |Note2: This nRTS signal control bit is not effective when RS-485 auto direction mode (AUD) is enabled in RS-485 function mode. 00232 * |[9] |RTSACTLV |nRTS Pin Active Level 00233 * | | |This bit defines the active level state of nRTS pin output. 00234 * | | |0 = nRTS pin output is high level active. 00235 * | | |1 = nRTS pin output is low level active. (Default) 00236 * | | |Note1: Before setting this bit, TXRXDIS (UART_FUNCSEL[3]) should be set then waited for TXRXACT (UART_FIFOSTS[31]) is cleared 00237 * | | |When the configuration is done, cleared TXRXDIS (UART_FUNCSEL[3]) to activate UART controller. 00238 * |[13] |RTSSTS |nRTS Pin Status (Read Only) 00239 * | | |This bit mirror from nRTS pin output of voltage logic status. 00240 * | | |0 = nRTS pin output is low level voltage logic state. 00241 * | | |1 = nRTS pin output is high level voltage logic state. 00242 * @var UART_T::MODEMSTS 00243 * Offset: 0x14 UART Modem Status Register 00244 * --------------------------------------------------------------------------------------------------- 00245 * |Bits |Field |Descriptions 00246 * | :----: | :----: | :---- | 00247 * |[0] |CTSDETF |Detect nCTS State Change Flag 00248 * | | |This bit is set whenever nCTS input has change state, and it will generate Modem interrupt to CPU when MODEMIEN (UART_INTEN [3]) is set to 1. 00249 * | | |0 = nCTS input has not change state. 00250 * | | |1 = nCTS input has change state. 00251 * | | |Note: This bit can be cleared by writing '1' to it. 00252 * |[4] |CTSSTS |nCTS Pin Status (Read Only) 00253 * | | |This bit mirror from nCTS pin input of voltage logic status. 00254 * | | |0 = nCTS pin input is low level voltage logic state. 00255 * | | |1 = nCTS pin input is high level voltage logic state. 00256 * | | |Note: This bit echoes when UART controller peripheral clock is enabled, and nCTS multi-function port is selected. 00257 * |[8] |CTSACTLV |nCTS Pin Active Level 00258 * | | |This bit defines the active level state of nCTS pin input. 00259 * | | |0 = nCTS pin input is high level active. 00260 * | | |1 = nCTS pin input is low level active. (Default) 00261 * | | |Note: Before setting this bit, TXRXDIS (UART_FUNCSEL[3]) should be set then waited for TXRXACT (UART_FIFOSTS[31]) is cleared 00262 * | | |When the configuration is done, cleared TXRXDIS (UART_FUNCSEL[3]) to activate UART controller. 00263 * @var UART_T::FIFOSTS 00264 * Offset: 0x18 UART FIFO Status Register 00265 * --------------------------------------------------------------------------------------------------- 00266 * |Bits |Field |Descriptions 00267 * | :----: | :----: | :---- | 00268 * |[0] |RXOVIF |RX Overflow Error Interrupt Flag 00269 * | | |This bit is set when RX FIFO overflow. 00270 * | | |If the number of bytes of received data is greater than RX_FIFO (UART_DAT) size 16 bytes, this bit will be set. 00271 * | | |0 = RX FIFO is not overflow. 00272 * | | |1 = RX FIFO is overflow. 00273 * | | |Note: This bit can be cleared by writing '1' to it. 00274 * |[1] |ABRDIF |Auto-baud Rate Detect Interrupt Flag 00275 * | | |This bit is set to logic '1' when auto-baud rate detect function is finished. 00276 * | | |0 = Auto-baud rate detect function is not finished. 00277 * | | |1 = Auto-baud rate detect function is finished. 00278 * | | |Note: This bit can be cleared by writing '1' to it. 00279 * |[2] |ABRDTOIF |Auto-baud Rate Detect Time-out Interrupt Flag 00280 * | | |This bit is set to logic '1' in Auto-baud Rate Detect mode when the baud rate counter is overflow. 00281 * | | |0 = Auto-baud rate counter is underflow. 00282 * | | |1 = Auto-baud rate counter is overflow. 00283 * | | |Note: This bit can be cleared by writing '1' to it. 00284 * |[3] |ADDRDETF |RS-485 Address Byte Detect Flag 00285 * | | |0 = Receiver detects a data that is not an address bit (bit 9 ='0'). 00286 * | | |1 = Receiver detects a data that is an address bit (bit 9 ='1'). 00287 * | | |Note1: This field is used for RS-485 function mode and ADDRDEN (UART_ALTCTL[15]) is set to 1 to enable Address detection mode. 00288 * | | |Note2: This bit can be cleared by writing '1' to it. 00289 * |[4] |PEF |Parity Error Flag 00290 * | | |This bit is set to logic 1 whenever the received character does not have a valid 'parity bit'. 00291 * | | |0 = No parity error is generated. 00292 * | | |1 = Parity error is generated. 00293 * | | |Note: This bit can be cleared by writing '1' to it. 00294 * |[5] |FEF |Framing Error Flag 00295 * | | |This bit is set to logic 1 whenever the received character does not have a valid 'stop bit' 00296 * | | |(that is, the stop bit following the last data bit or parity bit is detected as logic 0). 00297 * | | |0 = No framing error is generated. 00298 * | | |1 = Framing error is generated. 00299 * | | |Note: This bit can be cleared by writing '1' to it. 00300 * |[6] |BIF |Break Interrupt Flag 00301 * | | |This bit is set to logic 1 whenever the received data input (RX) is held in the 'spacing state' (logic 0) 00302 * | | |for longer than a full word transmission time (that is, the total time of start bit + data bits + parity + stop bits). 00303 * | | |0 = No Break interrupt is generated. 00304 * | | |1 = Break interrupt is generated. 00305 * | | |Note: This bit can be cleared by writing '1' to it. 00306 * |[13:8] |RXPTR |RX FIFO Pointer (Read Only) 00307 * | | |This field indicates the RX FIFO Buffer Pointer 00308 * | | |When UART receives one byte from external device, RXPTR increases one 00309 * | | |When one byte of RX FIFO is read by CPU, RXPTR decreases one. 00310 * | | |The Maximum value shown in RXPTR is 15 00311 * | | |When the using level of RX FIFO Buffer equal to 16, the RXFULL bit is set to 1 and RXPTR will show 0 00312 * | | |As one byte of RX FIFO is read by CPU, the RXFULL bit is cleared to 0 and RXPTR will show 15 00313 * |[14] |RXEMPTY |Receiver FIFO Empty (Read Only) 00314 * | | |This bit initiate RX FIFO empty or not. 00315 * | | |0 = RX FIFO is not empty. 00316 * | | |1 = RX FIFO is empty. 00317 * | | |Note: When the last byte of RX FIFO has been read by CPU, hardware sets this bit high 00318 * | | |It will be cleared when UART receives any new data. 00319 * |[15] |RXFULL |Receiver FIFO Full (Read Only) 00320 * | | |This bit initiates RX FIFO full or not. 00321 * | | |0 = RX FIFO is not full. 00322 * | | |1 = RX FIFO is full. 00323 * | | |Note: This bit is set when the number of usage in RX FIFO Buffer is equal to 16, otherwise it is cleared by hardware. 00324 * |[21:16] |TXPTR |TX FIFO Pointer (Read Only) 00325 * | | |This field indicates the TX FIFO Buffer Pointer 00326 * | | |When CPU writes one byte into UART_DAT, TXPTR increases one 00327 * | | |When one byte of TX FIFO is transferred to Transmitter Shift Register, TXPTR decreases one. 00328 * | | |The Maximum value shown in TXPTR is 15 00329 * | | |When the using level of TX FIFO Buffer equal to 16, the TXFULL bit is set to 1 and TXPTR will show 0 00330 * | | |As one byte of TX FIFO is transferred to Transmitter Shift Register, the TXFULL bit is cleared to 0 and TXPTR will show 15 00331 * |[22] |TXEMPTY |Transmitter FIFO Empty (Read Only) 00332 * | | |This bit indicates TX FIFO empty or not. 00333 * | | |0 = TX FIFO is not empty. 00334 * | | |1 = TX FIFO is empty. 00335 * | | |Note: When the last byte of TX FIFO has been transferred to Transmitter Shift Register, hardware sets this bit high 00336 * | | |It will be cleared when writing data into UART_DAT (TX FIFO not empty). 00337 * |[23] |TXFULL |Transmitter FIFO Full (Read Only) 00338 * | | |This bit indicates TX FIFO full or not. 00339 * | | |0 = TX FIFO is not full. 00340 * | | |1 = TX FIFO is full. 00341 * | | |Note: This bit is set when the number of usage in TX FIFO Buffer is equal to 16, otherwise it is cleared by hardware. 00342 * |[24] |TXOVIF |TX Overflow Error Interrupt Flag 00343 * | | |If TX FIFO (UART_DAT) is full, an additional write to UART_DAT will cause this bit to logic 1. 00344 * | | |0 = TX FIFO is not overflow. 00345 * | | |1 = TX FIFO is overflow. 00346 * | | |Note: This bit can be cleared by writing '1' to it. 00347 * |[28] |TXEMPTYF |Transmitter Empty Flag (Read Only) 00348 * | | |This bit is set by hardware when TX FIFO (UART_DAT) is empty and the STOP bit of the last byte has been transmitted. 00349 * | | |0 = TX FIFO is not empty or the STOP bit of the last byte has been not transmitted. 00350 * | | |1 = TX FIFO is empty and the STOP bit of the last byte has been transmitted. 00351 * | | |Note: This bit is cleared automatically when TX FIFO is not empty or the last byte transmission has not completed. 00352 * |[29] |RXIDLE |RX Idle Status (Read Only) 00353 * | | |This bit is set by hardware when RX is idle. 00354 * | | |0 = RX is busy. 00355 * | | |1 = RX is idle. (Default) 00356 * |[31] |TXRXACT |TX and RX Active Status (Read Only) 00357 * | | |This bit indicates TX and RX are active or inactive. 00358 * | | |0 = TX and RX are inactive. 00359 * | | |1 = TX and RX are active. (Default) 00360 * | | |Note: When TXRXDIS (UART_FUNCSEL[3]) is set and both TX and RX are in idle state, this bit is cleared 00361 * | | |The UART controller can not transmit or receive data at this moment 00362 * | | |Otherwise this bit is set. 00363 * @var UART_T::INTSTS 00364 * Offset: 0x1C UART Interrupt Status Register 00365 * --------------------------------------------------------------------------------------------------- 00366 * |Bits |Field |Descriptions 00367 * | :----: | :----: | :---- | 00368 * |[0] |RDAIF |Receive Data Available Interrupt Flag 00369 * | | |When the number of bytes in the RX FIFO equals the RFITL then the RDAIF(UART_INTSTS[0]) will be set 00370 * | | |If RDAIEN (UART_INTEN [0]) is enabled, the RDA interrupt will be generated. 00371 * | | |0 = No RDA interrupt flag is generated. 00372 * | | |1 = RDA interrupt flag is generated. 00373 * | | |Note: This bit is read only and it will be cleared when the number of unread bytes of RX FIFO drops below the threshold level (RFITL(UART_FIFO[7:4]). 00374 * |[1] |THREIF |Transmit Holding Register Empty Interrupt Flag 00375 * | | |This bit is set when the last data of TX FIFO is transferred to Transmitter Shift Register 00376 * | | |If THREIEN (UART_INTEN[1]) is enabled, the THRE interrupt will be generated. 00377 * | | |0 = No THRE interrupt flag is generated. 00378 * | | |1 = THRE interrupt flag is generated. 00379 * | | |Note: This bit is read only and it will be cleared when writing data into UART_DAT (TX FIFO not empty). 00380 * |[2] |RLSIF |Receive Line Interrupt Flag (Read Only) 00381 * | | |This bit is set when the RX receive data have parity error, frame error or break error (at least one of 3 bits, BIF(UART_FIFOSTS[6]), FEF(UART_FIFOSTS[5]) and PEF(UART_FIFOSTS[4]), is set) 00382 * | | |If RLSIEN (UART_INTEN [2]) is enabled, the RLS interrupt will be generated. 00383 * | | |0 = No RLS interrupt flag is generated. 00384 * | | |1 = RLS interrupt flag is generated. 00385 * | | |Note1: In RS-485 function mode, this field is set include "receiver detect and received address byte character (bit9 = '1') bit" 00386 * | | |At the same time, the bit of ADDRDETF (UART_FIFOSTS[3]) is also set. 00387 * | | |Note2: This bit is read only and reset to 0 when all bits of BIF (UART_FIFOSTS[6]), FEF(UART_FIFOSTS[5]) and PEF(UART_FIFOSTS[4]) are cleared. 00388 * | | |Note3: In RS-485 function mode, this bit is read only and reset to 0 when all bits of BIF (UART_FIFOSTS[6]) , FEF(UART_FIFOSTS[5]), PEF(UART_FIFOSTS[4]) and ADDRDETF (UART_FIFOSTS[3]) are cleared. 00389 * |[3] |MODEMIF |MODEM Interrupt Flag (Read Only) 00390 * | | |This bit is set when the nCTS pin has state change (CTSDETF (UART_MODEMSTS[0]) = 1) 00391 * | | |If MODEMIEN (UART_INTEN [3]) is enabled, the Modem interrupt will be generated. 00392 * | | |0 = No Modem interrupt flag is generated. 00393 * | | |1 = Modem interrupt flag is generated. 00394 * | | |Note: This bit is read only and reset to 0 when bit CTSDETF is cleared by a write 1 on CTSDETF(UART_MODEMSTS[0]). 00395 * |[4] |RXTOIF |RX Time-out Interrupt Flag (Read Only) 00396 * | | |This bit is set when the RX FIFO is not empty and no activities occurred in the RX FIFO and the time-out counter equal to TOIC (UART_TOUT[7:0]) 00397 * | | |If RXTOIEN (UART_INTEN [4]) is enabled, the RX time-out interrupt will be generated. 00398 * | | |0 = No RX time-out interrupt flag is generated. 00399 * | | |1 = RX time-out interrupt flag is generated. 00400 * | | |Note: This bit is read only and user can read UART_DAT (RX is in active) to clear it. 00401 * |[5] |BUFERRIF |Buffer Error Interrupt Flag (Read Only) 00402 * | | |This bit is set when the TX FIFO or RX FIFO overflows (TXOVIF (UART_FIFOSTS[24]) or RXOVIF (UART_FIFOSTS[0]) is set) 00403 * | | |When BUFERRIF (UART_INTSTS[5]) is set, the transfer is not correct 00404 * | | |If BUFERRIEN (UART_INTEN [5]) is enabled, the buffer error interrupt will be generated. 00405 * | | |0 = No buffer error interrupt flag is generated. 00406 * | | |1 = Buffer error interrupt flag is generated. 00407 * | | |Note: This bit is cleared if both of RXOVIF(UART_FIFOSTS[0]) and TXOVIF(UART_FIFOSTS[24]) are cleared to 0 by writing 1 to RXOVIF(UART_FIFOSTS[0]) and TXOVIF(UART_FIFOSTS[24]). 00408 * |[6] |WKIF |UART Wake-up Interrupt Flag (Read Only) 00409 * | | |This bit is set when TOUTWKF (UART_WKSTS[4]), RS485WKF (UART_WKSTS[3]), RFRTWKF (UART_WKSTS[2]), DATWKF (UART_WKSTS[1]) or CTSWKF(UART_WKSTS[0]) is set to 1. 00410 * | | |0 = No UART wake-up interrupt flag is generated. 00411 * | | |1 = UART wake-up interrupt flag is generated. 00412 * | | |Note: This bit is cleared if all of TOUTWKF, RS485WKF, RFRTWKF, DATWKF and CTSWKF are cleared to 0 by writing 1 to the corresponding interrupt flag. 00413 * |[7] |LINIF |LIN Bus Interrupt Flag 00414 * | | |This bit is set when LIN slave header detect (SLVHDETF (UART_LINSTS[0] = 1)), LIN break detect (BRKDETF(UART_LINSTS[8]=1)), bit error detect (BITEF(UART_LINSTS[9]=1)), LIN slave ID parity error (SLVIDPEF(UART_LINSTS[2] = 1)) or LIN slave header error detect (SLVHEF (UART_LINSTS[1])) 00415 * | | |If LINIEN (UART_INTEN [8]) is enabled the LIN interrupt will be generated. 00416 * | | |0 = None of SLVHDETF, BRKDETF, BITEF, SLVIDPEF and SLVHEF is generated. 00417 * | | |1 = At least one of SLVHDETF, BRKDETF, BITEF, SLVIDPEF and SLVHEF is generated. 00418 * | | |Note: This bit is cleared when SLVHDETF(UART_LINSTS[0]), BRKDETF(UART_LINSTS[8]), BITEF(UART_LINSTS[9]), SLVIDPEF (UART_LINSTS[2]) and SLVHEF(UART_LINSTS[1]) all are cleared and software writing '1' to LINIF(UART_INTSTS[7]). 00419 * |[8] |RDAINT |Receive Data Available Interrupt Indicator (Read Only) 00420 * | | |This bit is set if RDAIEN (UART_INTEN[0]) and RDAIF (UART_INTSTS[0]) are both set to 1. 00421 * | | |0 = No RDA interrupt is generated. 00422 * | | |1 = RDA interrupt is generated. 00423 * |[9] |THREINT |Transmit Holding Register Empty Interrupt Indicator (Read Only) 00424 * | | |This bit is set if THREIEN (UART_INTEN[1]) and THREIF(UART_INTSTS[1]) are both set to 1. 00425 * | | |0 = No THRE interrupt is generated. 00426 * | | |1 = THRE interrupt is generated. 00427 * |[10] |RLSINT |Receive Line Status Interrupt Indicator (Read Only) 00428 * | | |This bit is set if RLSIEN (UART_INTEN[2]) and RLSIF(UART_INTSTS[2]) are both set to 1. 00429 * | | |0 = No RLS interrupt is generated. 00430 * | | |1 = RLS interrupt is generated. 00431 * |[11] |MODEMINT |MODEM Status Interrupt Indicator (Read Only) 00432 * | | |This bit is set if MODEMIEN(UART_INTEN[3]) and MODEMIF(UART_INTSTS[3]) are both set to 1 00433 * | | |0 = No Modem interrupt is generated. 00434 * | | |1 = Modem interrupt is generated. 00435 * |[12] |RXTOINT |RX Time-out Interrupt Indicator (Read Only) 00436 * | | |This bit is set if RXTOIEN (UART_INTEN[4]) and RXTOIF(UART_INTSTS[4]) are both set to 1. 00437 * | | |0 = No RX time-out interrupt is generated. 00438 * | | |1 = RX time-out interrupt is generated. 00439 * |[13] |BUFERRINT |Buffer Error Interrupt Indicator (Read Only) 00440 * | | |This bit is set if BUFERRIEN(UART_INTEN[5]) and BUFERRIF(UART_ INTSTS[5]) are both set to 1. 00441 * | | |0 = No buffer error interrupt is generated. 00442 * | | |1 = Buffer error interrupt is generated. 00443 * |[14] |WKINT |UART Wake-up Interrupt Indicator (Read Only) 00444 * | | |This bit is set if WKIEN (UART_INTEN[6]) and WKIF (UART_INTSTS[6]) are both set to 1. 00445 * | | |0 = No UART wake-up interrupt is generated. 00446 * | | |1 = UART wake-up interrupt is generated. 00447 * |[15] |LININT |LIN Bus Interrupt Indicator (Read Only) 00448 * | | |This bit is set if LINIEN (UART_INTEN[8]) and LINIF(UART_INTSTS[7]) are both set to 1. 00449 * | | |0 = No LIN Bus interrupt is generated. 00450 * | | |1 = The LIN Bus interrupt is generated. 00451 * |[18] |HWRLSIF |PDMA Mode Receive Line Status Flag (Read Only) 00452 * | | |This bit is set when the RX receive data have parity error, frame error or break error (at least one of 3 bits, BIF (UART_FIFOSTS[6]), FEF (UART_FIFOSTS[5]) and PEF (UART_FIFOSTS[4]) is set) 00453 * | | |If RLSIEN (UART_INTEN [2]) is enabled, the RLS interrupt will be generated. 00454 * | | |0 = No RLS interrupt flag is generated in PDMA mode. 00455 * | | |1 = RLS interrupt flag is generated in PDMA mode. 00456 * | | |Note1: In RS-485 function mode, this field include "receiver detect any address byte received address byte character (bit9 = '1') bit". 00457 * | | |Note2: In UART function mode, this bit is read only and reset to 0 when all bits of BIF(UART_FIFOSTS[6]) , FEF(UART_FIFOSTS[5]) and PEF(UART_FIFOSTS[4]) are cleared. 00458 * | | |Note3: In RS-485 function mode, this bit is read only and reset to 0 when all bits of BIF(UART_FIFOSTS[6]), FEF(UART_FIFOSTS[5]), PEF(UART_FIFOSTS[4]) and ADDRDETF (UART_FIFOSTS[3]) are cleared 00459 * |[19] |HWMODIF |PDMA Mode MODEM Interrupt Flag (Read Only) 00460 * | | |This bit is set when the nCTS pin has state change (CTSDETF (UART_MODEMSTS [0] =1)) 00461 * | | |If MODEMIEN (UART_INTEN [3]) is enabled, the Modem interrupt will be generated. 00462 * | | |0 = No Modem interrupt flag is generated in PDMA mode. 00463 * | | |1 = Modem interrupt flag is generated in PDMA mode. 00464 * | | |Note: This bit is read only and reset to 0 when the bit CTSDETF (UART_MODEMSTS[0]) is cleared by writing 1 on CTSDETF (UART_MODEMSTS [0]). 00465 * |[20] |HWTOIF |PDMA Mode RX Time-out Interrupt Flag (Read Only) 00466 * | | |This bit is set when the RX FIFO is not empty and no activities occurred in the RX FIFO and the time-out counter equal to TOIC (UART_TOUT[7:0]) 00467 * | | |If RXTOIEN (UART_INTEN [4]) is enabled, the RX time-out interrupt will be generated . 00468 * | | |0 = No RX time-out interrupt flag is generated in PDMA mode. 00469 * | | |1 = RX time-out interrupt flag is generated in PDMA mode. 00470 * | | |Note: This bit is read only and user can read UART_DAT (RX is in active) to clear it. 00471 * |[21] |HWBUFEIF |PDMA Mode Buffer Error Interrupt Flag (Read Only) 00472 * | | |This bit is set when the TX or RX FIFO overflows (TXOVIF (UART_FIFOSTS [24]) or RXOVIF (UART_FIFOSTS[0]) is set) 00473 * | | |When BUFERRIF (UART_INTSTS[5]) is set, the transfer maybe is not correct 00474 * | | |If BUFERRIEN (UART_INTEN [5]) is enabled, the buffer error interrupt will be generated. 00475 * | | |0 = No buffer error interrupt flag is generated in PDMA mode. 00476 * | | |1 = Buffer error interrupt flag is generated in PDMA mode. 00477 * | | |Note: This bit is cleared when both TXOVIF (UART_FIFOSTS[24]]) and RXOVIF (UART_FIFOSTS[0]) are cleared. 00478 * |[22] |TXENDIF |Transmitter Empty Interrupt Flag 00479 * | | |This bit is set when TX FIFO (UART_DAT) is empty and the STOP bit of the last byte has been transmitted (TXEMPTYF (UART_FIFOSTS[28]) is set) 00480 * | | |If TXENDIEN (UART_INTEN[22]) is enabled, the Transmitter Empty interrupt will be generated. 00481 * | | |0 = No transmitter empty interrupt flag is generated. 00482 * | | |1 = Transmitter empty interrupt flag is generated. 00483 * | | |Note: This bit is cleared automatically when TX FIFO is not empty or the last byte transmission has not completed. 00484 * |[26] |HWRLSINT |PDMA Mode Receive Line Status Interrupt Indicator (Read Only) 00485 * | | |This bit is set if RLSIEN (UART_INTEN[2]) and HWRLSIF(UART_INTSTS[18]) are both set to 1. 00486 * | | |0 = No RLS interrupt is generated in PDMA mode. 00487 * | | |1 = RLS interrupt is generated in PDMA mode. 00488 * |[27] |HWMODINT |PDMA Mode MODEM Status Interrupt Indicator (Read Only) 00489 * | | |This bit is set if MODEMIEN (UART_INTEN[3]) and HWMODIF(UART_INTSTS[19]) are both set to 1. 00490 * | | |0 = No Modem interrupt is generated in PDMA mode. 00491 * | | |1 = Modem interrupt is generated in PDMA mode. 00492 * |[28] |HWTOINT |PDMA Mode RX Time-out Interrupt Indicator (Read Only) 00493 * | | |This bit is set if RXTOIEN (UART_INTEN[4]) and HWTOIF(UART_INTSTS[20]) are both set to 1. 00494 * | | |0 = No RX time-out interrupt is generated in PDMA mode. 00495 * | | |1 = RX time-out interrupt is generated in PDMA mode. 00496 * |[29] |HWBUFEINT |PDMA Mode Buffer Error Interrupt Indicator (Read Only) 00497 * | | |This bit is set if BUFERRIEN (UART_INTEN[5]) and HWBUFEIF (UART_INTSTS[21]) are both set to 1. 00498 * | | |0 = No buffer error interrupt is generated in PDMA mode. 00499 * | | |1 = Buffer error interrupt is generated in PDMA mode. 00500 * |[30] |TXENDINT |Transmitter Empty Interrupt Indicator (Read Only) 00501 * | | |This bit is set if TXENDIEN (UART_INTEN[22]) and TXENDIF(UART_INTSTS[22]) are both set to 1. 00502 * | | |0 = No Transmitter Empty interrupt is generated. 00503 * | | |1 = Transmitter Empty interrupt is generated. 00504 * |[31] |ABRINT |Auto-baud Rate Interrupt Indicator (Read Only) 00505 * | | |This bit is set if ABRIEN (UART_INTEN[18]) and ABRIF (UART_ALTCTL[17]) are both set to 1. 00506 * | | |0 = No Auto-baud Rate interrupt is generated. 00507 * | | |1 = The Auto-baud Rate interrupt is generated. 00508 * @var UART_T::TOUT 00509 * Offset: 0x20 UART Time-out Register 00510 * --------------------------------------------------------------------------------------------------- 00511 * |Bits |Field |Descriptions 00512 * | :----: | :----: | :---- | 00513 * |[7:0] |TOIC |Time-out Interrupt Comparator 00514 * | | |The time-out counter resets and starts counting (the counting clock = baud rate) whenever the RX FIFO receives a new data word if time out counter is enabled by setting TOCNTEN (UART_INTEN[11]) 00515 * | | |Once the content of time-out counter is equal to that of time-out interrupt comparator (TOIC (UART_TOUT[7:0])), a receiver time-out interrupt (RXTOINT(UART_INTSTS[12])) is generated if RXTOIEN (UART_INTEN [4]) enabled 00516 * | | |A new incoming data word or RX FIFO empty will clear RXTOIF (UART_INTSTS[4]) 00517 * | | |In order to avoid receiver time-out interrupt generation immediately during one character is being received, TOIC value should be set between 40 and 255 00518 * | | |So, for example, if TOIC is set with 40, the time-out interrupt is generated after four characters are not received when 1 stop bit and no parity check is set for UART transfer. 00519 * |[15:8] |DLY |TX Delay Time Value 00520 * | | |This field is used to programming the transfer delay time between the last stop bit and next start bit 00521 * | | |The unit is bit time. 00522 * @var UART_T::BAUD 00523 * Offset: 0x24 UART Baud Rate Divider Register 00524 * --------------------------------------------------------------------------------------------------- 00525 * |Bits |Field |Descriptions 00526 * | :----: | :----: | :---- | 00527 * |[15:0] |BRD |Baud Rate Divider 00528 * | | |The field indicates the baud rate divider 00529 * | | |This filed is used in baud rate calculation 00530 * | | |The detail description is shown in Table 7.15-4. 00531 * |[27:24] |EDIVM1 |Extra Divider for BAUD Rate Mode 1 00532 * | | |This field is used for baud rate calculation in mode 1 and has no effect for baud rate calculation in mode 0 and mode 2 00533 * | | |The detail description is shown in Table 7.15-4 00534 * |[28] |BAUDM0 |BAUD Rate Mode Selection Bit 0 00535 * | | |This bit is baud rate mode selection bit 0 00536 * | | |UART provides three baud rate calculation modes 00537 * | | |This bit combines with BAUDM1 (UART_BAUD[29]) to select baud rate calculation mode 00538 * | | |The detail description is shown in Table 7.15-4. 00539 * |[29] |BAUDM1 |BAUD Rate Mode Selection Bit 1 00540 * | | |This bit is baud rate mode selection bit 1 00541 * | | |UART provides three baud rate calculation modes 00542 * | | |This bit combines with BAUDM0 (UART_BAUD[28]) to select baud rate calculation mode 00543 * | | |The detail description is shown in Table 7.15-4. 00544 * | | |Note: In IrDA mode must be operated in mode 0. 00545 * @var UART_T::IRDA 00546 * Offset: 0x28 UART IrDA Control Register 00547 * --------------------------------------------------------------------------------------------------- 00548 * |Bits |Field |Descriptions 00549 * | :----: | :----: | :---- | 00550 * |[1] |TXEN |IrDA Receiver/Transmitter Selection Enable Bit 00551 * | | |0 = IrDA Transmitter Disabled and Receiver Enabled. (Default) 00552 * | | |1 = IrDA Transmitter Enabled and Receiver Disabled. 00553 * |[5] |TXINV |IrDA Inverse Transmitting Output Signal 00554 * | | |0 = None inverse transmitting signal. (Default). 00555 * | | |1 = Inverse transmitting output signal. 00556 * | | |Note1: Before setting this bit, TXRXDIS (UART_FUNCSEL[3]) should be set then waited for TXRXACT (UART_FIFOSTS[31]) is cleared 00557 * | | |When the configuration is done, cleared TXRXDIS (UART_FUNCSEL[3]) to activate UART controller. 00558 * | | |Note2: This bit is valid when FUNCSEL (UART_FUNCSEL[1:0]) is select IrDA function. 00559 * |[6] |RXINV |IrDA Inverse Receive Input Signal 00560 * | | |0 = None inverse receiving input signal. 00561 * | | |1 = Inverse receiving input signal. (Default) 00562 * | | |Note1: Before setting this bit, TXRXDIS (UART_FUNCSEL[3]) should be set then waited for TXRXACT (UART_FIFOSTS[31]) is cleared 00563 * | | |When the configuration is done, cleared TXRXDIS (UART_FUNCSEL[3]) to activate UART controller. 00564 * | | |Note2: This bit is valid when FUNCSEL (UART_FUNCSEL[1:0]) is select IrDA function. 00565 * @var UART_T::ALTCTL 00566 * Offset: 0x2C UART Alternate Control/Status Register 00567 * --------------------------------------------------------------------------------------------------- 00568 * |Bits |Field |Descriptions 00569 * | :----: | :----: | :---- | 00570 * |[3:0] |BRKFL |UART LIN Break Field Length 00571 * | | |This field indicates a 4-bit LIN TX break field count. 00572 * | | |Note1: This break field length is BRKFL + 1. 00573 * | | |Note2: According to LIN spec, the reset value is 0xC (break field length = 13). 00574 * |[6] |LINRXEN |LIN RX Enable Bit 00575 * | | |0 = LIN RX mode Disabled. 00576 * | | |1 = LIN RX mode Enabled. 00577 * |[7] |LINTXEN |LIN TX Break Mode Enable Bit 00578 * | | |0 = LIN TX Break mode Disabled. 00579 * | | |1 = LIN TX Break mode Enabled. 00580 * | | |Note: When TX break field transfer operation finished, this bit will be cleared automatically. 00581 * |[8] |RS485NMM |RS-485 Normal Multi-drop Operation Mode (NMM) 00582 * | | |0 = RS-485 Normal Multi-drop Operation mode (NMM) Disabled. 00583 * | | |1 = RS-485 Normal Multi-drop Operation mode (NMM) Enabled. 00584 * | | |Note: It cannot be active with RS-485_AAD operation mode. 00585 * |[9] |RS485AAD |RS-485 Auto Address Detection Operation Mode (AAD) 00586 * | | |0 = RS-485 Auto Address Detection Operation mode (AAD) Disabled. 00587 * | | |1 = RS-485 Auto Address Detection Operation mode (AAD) Enabled. 00588 * | | |Note: It cannot be active with RS-485_NMM operation mode. 00589 * |[10] |RS485AUD |RS-485 Auto Direction Function (AUD) 00590 * | | |0 = RS-485 Auto Direction Operation function (AUD) Disabled. 00591 * | | |1 = RS-485 Auto Direction Operation function (AUD) Enabled. 00592 * | | |Note: It can be active with RS-485_AAD or RS-485_NMM operation mode. 00593 * |[15] |ADDRDEN |RS-485 Address Detection Enable Bit 00594 * | | |This bit is used to enable RS-485 Address Detection mode. 00595 * | | |0 = Address detection mode Disabled. 00596 * | | |1 = Address detection mode Enabled. 00597 * | | |Note: This bit is used for RS-485 any operation mode. 00598 * |[17] |ABRIF |Auto-baud Rate Interrupt Flag (Read Only) 00599 * | | |This bit is set when auto-baud rate detection function finished or the auto-baud rate counter was overflow and if ABRIEN(UART_INTEN [18]) is set then the auto-baud rate interrupt will be generated. 00600 * | | |0 = No auto-baud rate interrupt flag is generated. 00601 * | | |1 = Auto-baud rate interrupt flag is generated. 00602 * | | |Note: This bit is read only, but it can be cleared by writing '1' to ABRDTOIF (UART_FIFOSTS[2]) and ABRDIF(UART_FIFOSTS[1]) 00603 * |[18] |ABRDEN |Auto-baud Rate Detect Enable Bit 00604 * | | |0 = Auto-baud rate detect function Disabled. 00605 * | | |1 = Auto-baud rate detect function Enabled. 00606 * | | |Note : This bit is cleared automatically after auto-baud detection is finished. 00607 * |[20:19] |ABRDBITS |Auto-baud Rate Detect Bit Length 00608 * | | |00 = 1-bit time from Start bit to the 1st rising edge. The input pattern shall be 0x01. 00609 * | | |01 = 2-bit time from Start bit to the 1st rising edge. The input pattern shall be 0x02. 00610 * | | |10 = 4-bit time from Start bit to the 1st rising edge. The input pattern shall be 0x08. 00611 * | | |11 = 8-bit time from Start bit to the 1st rising edge. The input pattern shall be 0x80. 00612 * | | |Note : The calculation of bit number includes the START bit. 00613 * |[31:24] |ADDRMV |Address Match Value 00614 * | | |This field contains the RS-485 address match values. 00615 * | | |Note: This field is used for RS-485 auto address detection mode. 00616 * @var UART_T::FUNCSEL 00617 * Offset: 0x30 UART Function Select Register 00618 * --------------------------------------------------------------------------------------------------- 00619 * |Bits |Field |Descriptions 00620 * | :----: | :----: | :---- | 00621 * |[1:0] |FUNCSEL |Function Select 00622 * | | |00 = UART function. 00623 * | | |01 = LIN function. 00624 * | | |10 = IrDA function. 00625 * | | |11 = RS-485 function. 00626 * |[3] |TXRXDIS |TX and RX Disable Bit 00627 * | | |Setting this bit can disable TX and RX. 00628 * | | |0 = TX and RX Enabled. 00629 * | | |1 = TX and RX Disabled. 00630 * | | |Note: The TX and RX will not disable immediately when this bit is set 00631 * | | |The TX and RX complete current task before disable TX and RX 00632 * | | |When TX and RX disable, the TXRXACT (UART_FIFOSTS[31]) is cleared. 00633 * @var UART_T::LINCTL 00634 * Offset: 0x34 UART LIN Control Register 00635 * --------------------------------------------------------------------------------------------------- 00636 * |Bits |Field |Descriptions 00637 * | :----: | :----: | :---- | 00638 * |[0] |SLVEN |LIN Slave Mode Enable Bit 00639 * | | |0 = LIN slave mode Disabled. 00640 * | | |1 = LIN slave mode Enabled. 00641 * |[1] |SLVHDEN |LIN Slave Header Detection Enable Bit 00642 * | | |0 = LIN slave header detection Disabled. 00643 * | | |1 = LIN slave header detection Enabled. 00644 * | | |Note1: This bit only valid when in LIN slave mode (SLVEN (UART_LINCTL[0]) = 1). 00645 * | | |Note2: In LIN function mode, when detect header field (break + sync + frame ID), SLVHDETF (UART_LINSTS [0]) flag will be asserted 00646 * | | |If the LINIEN (UART_INTEN[8]) = 1, an interrupt will be generated. 00647 * |[2] |SLVAREN |LIN Slave Automatic Resynchronization Mode Enable Bit 00648 * | | |0 = LIN automatic resynchronization Disabled. 00649 * | | |1 = LIN automatic resynchronization Enabled. 00650 * | | |Note1: This bit only valid when in LIN slave mode (SLVEN (UART_LINCTL[0]) = 1). 00651 * | | |Note2: When operation in Automatic Resynchronization mode, the baud rate setting must be mode2 (BAUDM1 (UART_BAUD [29]) and BAUDM0 (UART_BAUD [28]) must be 1). 00652 * | | |Note3: The control and interactions of this field are explained in 7.15.5.9 (Slave mode with automatic resynchronization). 00653 * |[3] |SLVDUEN |LIN Slave Divider Update Method Enable Bit 00654 * | | |0 = UART_BAUD updated is written by software (if no automatic resynchronization update occurs at the same time). 00655 * | | |1 = UART_BAUD is updated at the next received character 00656 * | | |User must set the bit before checksum reception. 00657 * | | |Note1: This bit only valid when in LIN slave mode (SLVEN (UART_LINCTL[0]) = 1). 00658 * | | |Note2: This bit used for LIN Slave Automatic Resynchronization mode 00659 * | | |(for Non-Automatic Resynchronization mode, this bit should be kept cleared) 00660 * | | |Note3: The control and interactions of this field are explained in 7.15.5.9 (Slave mode with automatic resynchronization). 00661 * |[4] |MUTE |LIN Mute Mode Enable Bit 00662 * | | |0 = LIN mute mode Disabled. 00663 * | | |1 = LIN mute mode Enabled. 00664 * | | |Note: The exit from mute mode condition and each control and interactions of this field are explained in 7.15.5.9 (LIN slave mode). 00665 * |[8] |SENDH |LIN TX Send Header Enable Bit 00666 * | | |The LIN TX header can be break field or 'break and sync field' or 'break, sync and frame ID field', it is depend on setting HSEL (UART_LINCTL[23:22]). 00667 * | | |0 = Send LIN TX header Disabled. 00668 * | | |1 = Send LIN TX header Enabled. 00669 * | | |Note1: This bit is shadow bit of LINTXEN (UART_ALTCTL [7]); user can read/write it by setting LINTXEN (UART_ALTCTL [7]) or SENDH (UART_LINCTL [8]). 00670 * | | |Note2: When transmitter header field (it may be 'break' or 'break + sync' or 'break + sync + frame ID' selected by HSEL (UART_LINCTL[23:22]) field) transfer operation finished, this bit will be cleared automatically. 00671 * |[9] |IDPEN |LIN ID Parity Enable Bit 00672 * | | |0 = LIN frame ID parity Disabled. 00673 * | | |1 = LIN frame ID parity Enabled. 00674 * | | |Note1: This bit can be used for LIN master to sending header field (SENDH (UART_LINCTL[8])) = 1 and HSEL (UART_LINCTL[23:22]) = 10 or be used for enable LIN slave received frame ID parity checked. 00675 * | | |Note2: This bit is only used when the operation header transmitter is in HSEL (UART_LINCTL[23:22]) = 10 00676 * |[10] |BRKDETEN |LIN Break Detection Enable Bit 00677 * | | |When detect consecutive dominant greater than 11 bits, and are followed by a delimiter character, the BRKDETF (UART_LINSTS[8]) flag is set at the end of break field 00678 * | | |If the LINIEN (UART_INTEN [8])=1, an interrupt will be generated. 00679 * | | |0 = LIN break detection Disabled . 00680 * | | |1 = LIN break detection Enabled. 00681 * |[11] |LINRXOFF |LIN Receiver Disable Bit 00682 * | | |If the receiver is enabled (LINRXOFF (UART_LINCTL[11] ) = 0), all received byte data will be accepted and stored in the RX FIFO, and if the receiver is disabled (LINRXOFF (UART_LINCTL[11] = 1), all received byte data will be ignore. 00683 * | | |0 = LIN receiver Enabled. 00684 * | | |1 = LIN receiver Disabled. 00685 * | | |Note: This bit is only valid when operating in LIN function mode (FUNCSEL (UART_FUNCSEL[1:0]) = 01). 00686 * |[12] |BITERREN |Bit Error Detect Enable Bit 00687 * | | |0 = Bit error detection function Disabled. 00688 * | | |1 = Bit error detection function Enabled. 00689 * | | |Note: In LIN function mode, when occur bit error, the BITEF (UART_LINSTS[9]) flag will be asserted 00690 * | | |If the LINIEN (UART_INTEN[8]) = 1, an interrupt will be generated. 00691 * |[19:16] |BRKFL |LIN Break Field Length 00692 * | | |This field indicates a 4-bit LIN TX break field count. 00693 * | | |Note1: These registers are shadow registers of BRKFL (UART_ALTCTL[3:0]), User can read/write it by setting BRKFL (UART_ALTCTL[3:0]) or BRKFL (UART_LINCTL[19:16]). 00694 * | | |Note2: This break field length is BRKFL + 1. 00695 * | | |Note3: According to LIN spec, the reset value is 12 (break field length = 13). 00696 * |[21:20] |BSL |LIN Break/Sync Delimiter Length 00697 * | | |00 = The LIN break/sync delimiter length is 1-bit time. 00698 * | | |01 = The LIN break/sync delimiter length is 2-bit time. 00699 * | | |10 = The LIN break/sync delimiter length is 3-bit time. 00700 * | | |11 = The LIN break/sync delimiter length is 4-bit time. 00701 * | | |Note: This bit used for LIN master to sending header field. 00702 * |[23:22] |HSEL |LIN Header Select 00703 * | | |00 = The LIN header includes 'break field'. 00704 * | | |01 = The LIN header includes 'break field' and 'sync field'. 00705 * | | |10 = The LIN header includes 'break field', 'sync field' and 'frame ID field'. 00706 * | | |11 = Reserved. 00707 * | | |Note: This bit is used to master mode for LIN to send header field (SENDH (UART_LINCTL [8]) = 1) or used to slave to indicates exit from mute mode condition (MUTE (UART_LINCTL[4] = 1). 00708 * |[31:24] |PID |LIN PID Bits 00709 * | | |This field contains the LIN frame ID value when in LIN function mode, the frame ID parity can be generated by software or hardware depends on IDPEN (UART_LINCTL[9]) = 1. 00710 * | | |If the parity generated by hardware, user fill ID0~ID5 (PID [29:24] ), hardware will calculate P0 (PID[30]) and P1 (PID[31]), otherwise user must filled frame ID and parity in this field. 00711 * | | |Note1: User can fill any 8-bit value to this field and the bit 24 indicates ID0 (LSB first). 00712 * | | |Note2: This field can be used for LIN master mode or slave mode. 00713 * @var UART_T::LINSTS 00714 * Offset: 0x38 UART LIN Status Register 00715 * --------------------------------------------------------------------------------------------------- 00716 * |Bits |Field |Descriptions 00717 * | :----: | :----: | :---- | 00718 * |[0] |SLVHDETF |LIN Slave Header Detection Flag 00719 * | | |This bit is set by hardware when a LIN header is detected in LIN slave mode and be cleared by writing 1 to it. 00720 * | | |0 = LIN header not detected. 00721 * | | |1 = LIN header detected (break + sync + frame ID). 00722 * | | |Note1: This bit can be cleared by writing 1 to it. 00723 * | | |Note2: This bit is only valid when in LIN slave mode (SLVEN (UART_LINCTL [0]) = 1) and enable LIN slave header detection function (SLVHDEN (UART_LINCTL [1])). 00724 * | | |Note3: When enable ID parity check IDPEN (UART_LINCTL [9]), if hardware detect complete header ('break + sync + frame ID'), the SLVHDETF will be set whether the frame ID correct or not. 00725 * |[1] |SLVHEF |LIN Slave Header Error Flag 00726 * | | |This bit is set by hardware when a LIN header error is detected in LIN slave mode and be cleared by writing 1 to it 00727 * | | |The header errors include 'break delimiter is too short (less than 0.5 bit time)', 'frame error in sync field or Identifier field', 00728 * | | |'sync field data is not 0x55 in Non-Automatic Resynchronization mode', 'sync field deviation error with Automatic Resynchronization mode', 00729 * | | |'sync field measure time-out with Automatic Resynchronization mode' and 'LIN header reception time-out'. 00730 * | | |0 = LIN header error not detected. 00731 * | | |1 = LIN header error detected. 00732 * | | |Note1: This bit can be cleared by writing 1 to it. 00733 * | | |Note2: This bit is only valid when UART is operated in LIN slave mode (SLVEN (UART_LINCTL [0]) = 1) and 00734 * | | |enables LIN slave header detection function (SLVHDEN (UART_LINCTL [1])). 00735 * |[2] |SLVIDPEF |LIN Slave ID Parity Error Flag 00736 * | | |This bit is set by hardware when receipted frame ID parity is not correct. 00737 * | | |0 = No active. 00738 * | | |1 = Receipted frame ID parity is not correct. 00739 * | | |Note1: This bit can be cleared by writing 1 to it. 00740 * | | |Note2: This bit is only valid when in LIN slave mode (SLVEN (UART_LINCTL [0])= 1) and enable LIN frame ID parity check function IDPEN (UART_LINCTL [9]). 00741 * |[3] |SLVSYNCF |LIN Slave Sync Field 00742 * | | |This bit indicates that the LIN sync field is being analyzed in Automatic Resynchronization mode 00743 * | | |When the receiver header have some error been detect, user must reset the internal circuit to re-search new frame header by writing 1 to this bit. 00744 * | | |0 = The current character is not at LIN sync state. 00745 * | | |1 = The current character is at LIN sync state. 00746 * | | |Note1: This bit is only valid when in LIN Slave mode (SLVEN(UART_LINCTL[0]) = 1). 00747 * | | |Note2: This bit can be cleared by writing 1 to it. 00748 * | | |Note3: When writing 1 to it, hardware will reload the initial baud rate and re-search a new frame header. 00749 * |[8] |BRKDETF |LIN Break Detection Flag 00750 * | | |This bit is set by hardware when a break is detected and be cleared by writing 1 to it through software. 00751 * | | |0 = LIN break not detected. 00752 * | | |1 = LIN break detected. 00753 * | | |Note1: This bit can be cleared by writing 1 to it. 00754 * | | |Note2: This bit is only valid when LIN break detection function is enabled (BRKDETEN (UART_LINCTL[10]) =1). 00755 * |[9] |BITEF |Bit Error Detect Status Flag 00756 * | | |At TX transfer state, hardware will monitor the bus state, if the input pin (UART_RXD) state not equals to the output pin (UART_TXD) state, BITEF (UART_LINSTS[9]) will be set. 00757 * | | |When occur bit error, if the LINIEN (UART_INTEN[8]) = 1, an interrupt will be generated. 00758 * | | |0 = Bit error not detected. 00759 * | | |1 = Bit error detected. 00760 * | | |Note1: This bit can be cleared by writing 1 to it. 00761 * | | |Note2: This bit is only valid when enable bit error detection function (BITERREN (UART_LINCTL [12]) = 1). 00762 * @var UART_T::BRCOMP 00763 * Offset: 0x3C UART Baud Rate Compensation Register 00764 * --------------------------------------------------------------------------------------------------- 00765 * |Bits |Field |Descriptions 00766 * | :----: | :----: | :---- | 00767 * |[8:0] |BRCOMP |Baud Rate Compensation Patten 00768 * | | |These 9-bits are used to define the relative bit is compensated or not. 00769 * | | |BRCOMP[7:0] is used to define the compensation of UART_DAT[7:0] and BRCOM[8] is used to define the parity bit. 00770 * |[31] |BRCOMPDEC |Baud Rate Compensation Decrease 00771 * | | |0 = Positive (increase one module clock) compensation for each compensated bit. 00772 * | | |1 = Negative (decrease one module clock) compensation for each compensated bit. 00773 * @var UART_T::WKCTL 00774 * Offset: 0x40 UART Wake-up Control Register 00775 * --------------------------------------------------------------------------------------------------- 00776 * |Bits |Field |Descriptions 00777 * | :----: | :----: | :---- | 00778 * |[0] |WKCTSEN |nCTS Wake-up Enable Bit 00779 * | | |0 = nCTS Wake-up system function Disabled. 00780 * | | |1 = nCTS Wake-up system function Enabled, when the system is in Power-down mode, an external. 00781 * | | |nCTS change will wake-up system from Power-down mode. 00782 * |[1] |WKDATEN |Incoming Data Wake-up Enable Bit 00783 * | | |0 = Incoming data wake-up system function Disabled. 00784 * | | |1 = Incoming data wake-up system function Enabled, when the system is in Power-down mode,. 00785 * | | |incoming data will wake-up system from Power-down mode. 00786 * |[2] |WKRFRTEN |Received Data FIFO Reached Threshold Wake-up Enable Bit 00787 * | | |0 = Received Data FIFO reached threshold wake-up system function Disabled. 00788 * | | |1 = Received Data FIFO reached threshold wake-up system function Enabled, when the system is. 00789 * | | |in Power-down mode, Received Data FIFO reached threshold will wake-up system from 00790 * | | |Power-down mode. 00791 * |[3] |WKRS485EN |RS-485 Address Match (AAD Mode) Wake-up Enable Bit 00792 * | | |0 = RS-485 Address Match (AAD mode) wake-up system function Disabled. 00793 * | | |1 = RS-485 Address Match (AAD mode) wake-up system function Enabled, when the system is in. 00794 * | | |Power-down mode, RS-485 Address Match will wake-up system from Power-down mode. 00795 * | | |Note: This bit is used for RS-485 Auto Address Detection (AAD) mode in RS-485 function mode 00796 * | | |and ADDRDEN (UART_ALTCTL[15]) is set to 1. 00797 * |[4] |WKTOUTEN |Received Data FIFO Reached Threshold Time-out Wake-up Enable Bit 00798 * | | |0 = Received Data FIFO reached threshold time-out wake-up system function Disabled. 00799 * | | |1 = Received Data FIFO reached threshold time-out wake-up system function Enabled, when the. 00800 * | | |system is in Power-down mode, Received Data FIFO reached threshold time-out will wake-up 00801 * | | |system from Power-down mode. 00802 * | | |Note: It is suggest the function is enabled when the WKRFRTEN (UART_WKCTL[2]) is set to 1. 00803 * @var UART_T::WKSTS 00804 * Offset: 0x44 UART Wake-up Status Register 00805 * --------------------------------------------------------------------------------------------------- 00806 * |Bits |Field |Descriptions 00807 * | :----: | :----: | :---- | 00808 * |[0] |CTSWKF |nCTS Wake-up Flag 00809 * | | |This bit is set if chip wake-up from power-down state by nCTS wake-up. 00810 * | | |0 = Chip stays in power-down state. 00811 * | | |1 = Chip wake-up from power-down state by nCTS wake-up. 00812 * | | |Note1: If WKCTSEN (UART_WKCTL[0]) is enabled, the nCTS wake-up cause this bit is set to '1'. 00813 * | | |Note2: This bit can be cleared by writing '1' to it. 00814 * |[1] |DATWKF |Incoming Data Wake-up Flag 00815 * | | |This bit is set if chip wake-up from power-down state by data wake-up. 00816 * | | |0 = Chip stays in power-down state. 00817 * | | |1 = Chip wake-up from power-down state by Incoming Data wake-up. 00818 * | | |Note1: If WKDATEN (UART_WKCTL[1]) is enabled, the Incoming Data wake-up cause this bit is set to '1'. 00819 * | | |Note2: This bit can be cleared by writing '1' to it. 00820 * |[2] |RFRTWKF |Received Data FIFO Reached Threshold Wake-up Flag 00821 * | | |This bit is set if chip wake-up from power-down state by Received Data FIFO reached threshold 00822 * | | |wake-up . 00823 * | | |0 = Chip stays in power-down state. 00824 * | | |1 = Chip wake-up from power-down state by Received Data FIFO Reached Threshold wake-up. 00825 * | | |Note1: If WKRFRTEN (UART_WKCTL[2]) is enabled, the Received Data FIFO Reached Threshold wake-up cause this bit is set to '1'. 00826 * | | |Note2: This bit can be cleared by writing '1' to it. 00827 * |[3] |RS485WKF |RS-485 Address Match (AAD Mode) Wake-up Flag 00828 * | | |This bit is set if chip wake-up from power-down state by RS-485 Address Match (AAD mode). 00829 * | | |0 = Chip stays in power-down state. 00830 * | | |1 = Chip wake-up from power-down state by RS-485 Address Match (AAD mode) wake-up. 00831 * | | |Note1: If WKRS485EN (UART_WKCTL[3]) is enabled, the RS-485 Address Match (AAD mode) wake-up cause this bit is set to '1'. 00832 * | | |Note2: This bit can be cleared by writing '1' to it. 00833 * |[4] |TOUTWKF |Received Data FIFO Threshold Time-out Wake-up Flag 00834 * | | |This bit is set if chip wake-up from power-down state by Received Data FIFO Threshold Time-out 00835 * | | |wake-up. 00836 * | | |0 = Chip stays in power-down state. 00837 * | | |1 = Chip wake-up from power-down state by Received Data FIFO reached threshold time-out. 00838 * | | |wake-up. 00839 * | | |Note1: If WKTOUTEN (UART_WKCTL[4]) is enabled, the Received Data FIFO reached threshold time-out wake-up cause this bit is set to '1'. 00840 * | | |Note2: This bit can be cleared by writing '1' to it. 00841 * @var UART_T::DWKCOMP 00842 * Offset: 0x48 UART Incoming Data Wake-up Compensation Register 00843 * --------------------------------------------------------------------------------------------------- 00844 * |Bits |Field |Descriptions 00845 * | :----: | :----: | :---- | 00846 * |[15:0] |STCOMP |Start Bit Compensation Value 00847 * | | |These bits field indicate how many clock cycle selected by UART_CLK do the UART controller can get the 1st bit (start bit) when the device is wake-up from power-down mode. 00848 * | | |Note: It is valid only when WKDATEN (UART_WKCTL[1]) is set. 00849 */ 00850 __IO uint32_t DAT; /*!< [0x0000] UART Receive/Transmit Buffer Register */ 00851 __IO uint32_t INTEN; /*!< [0x0004] UART Interrupt Enable Register */ 00852 __IO uint32_t FIFO; /*!< [0x0008] UART FIFO Control Register */ 00853 __IO uint32_t LINE; /*!< [0x000c] UART Line Control Register */ 00854 __IO uint32_t MODEM; /*!< [0x0010] UART Modem Control Register */ 00855 __IO uint32_t MODEMSTS; /*!< [0x0014] UART Modem Status Register */ 00856 __IO uint32_t FIFOSTS; /*!< [0x0018] UART FIFO Status Register */ 00857 __IO uint32_t INTSTS; /*!< [0x001c] UART Interrupt Status Register */ 00858 __IO uint32_t TOUT; /*!< [0x0020] UART Time-out Register */ 00859 __IO uint32_t BAUD; /*!< [0x0024] UART Baud Rate Divider Register */ 00860 __IO uint32_t IRDA; /*!< [0x0028] UART IrDA Control Register */ 00861 __IO uint32_t ALTCTL; /*!< [0x002c] UART Alternate Control/Status Register */ 00862 __IO uint32_t FUNCSEL; /*!< [0x0030] UART Function Select Register */ 00863 __IO uint32_t LINCTL; /*!< [0x0034] UART LIN Control Register */ 00864 __IO uint32_t LINSTS; /*!< [0x0038] UART LIN Status Register */ 00865 __IO uint32_t BRCOMP; /*!< [0x003c] UART Baud Rate Compensation Register */ 00866 __IO uint32_t WKCTL; /*!< [0x0040] UART Wake-up Control Register */ 00867 __IO uint32_t WKSTS; /*!< [0x0044] UART Wake-up Status Register */ 00868 __IO uint32_t DWKCOMP; /*!< [0x0048] UART Incoming Data Wake-up Compensation Register */ 00869 00870 } UART_T; 00871 00872 /** 00873 @addtogroup UART_CONST UART Bit Field Definition 00874 Constant Definitions for UART Controller 00875 @{ */ 00876 00877 #define UART_DAT_DAT_Pos (0) /*!< UART_T::DAT: DAT Position */ 00878 #define UART_DAT_DAT_Msk (0xfful << UART_DAT_DAT_Pos) /*!< UART_T::DAT: DAT Mask */ 00879 00880 #define UART_DAT_PARITY_Pos (8) /*!< UART_T::DAT: PARITY Position */ 00881 #define UART_DAT_PARITY_Msk (0x1ul << UART_DAT_PARITY_Pos) /*!< UART_T::DAT: PARITY Mask */ 00882 00883 #define UART_INTEN_RDAIEN_Pos (0) /*!< UART_T::INTEN: RDAIEN Position */ 00884 #define UART_INTEN_RDAIEN_Msk (0x1ul << UART_INTEN_RDAIEN_Pos) /*!< UART_T::INTEN: RDAIEN Mask */ 00885 00886 #define UART_INTEN_THREIEN_Pos (1) /*!< UART_T::INTEN: THREIEN Position */ 00887 #define UART_INTEN_THREIEN_Msk (0x1ul << UART_INTEN_THREIEN_Pos) /*!< UART_T::INTEN: THREIEN Mask */ 00888 00889 #define UART_INTEN_RLSIEN_Pos (2) /*!< UART_T::INTEN: RLSIEN Position */ 00890 #define UART_INTEN_RLSIEN_Msk (0x1ul << UART_INTEN_RLSIEN_Pos) /*!< UART_T::INTEN: RLSIEN Mask */ 00891 00892 #define UART_INTEN_MODEMIEN_Pos (3) /*!< UART_T::INTEN: MODEMIEN Position */ 00893 #define UART_INTEN_MODEMIEN_Msk (0x1ul << UART_INTEN_MODEMIEN_Pos) /*!< UART_T::INTEN: MODEMIEN Mask */ 00894 00895 #define UART_INTEN_RXTOIEN_Pos (4) /*!< UART_T::INTEN: RXTOIEN Position */ 00896 #define UART_INTEN_RXTOIEN_Msk (0x1ul << UART_INTEN_RXTOIEN_Pos) /*!< UART_T::INTEN: RXTOIEN Mask */ 00897 00898 #define UART_INTEN_BUFERRIEN_Pos (5) /*!< UART_T::INTEN: BUFERRIEN Position */ 00899 #define UART_INTEN_BUFERRIEN_Msk (0x1ul << UART_INTEN_BUFERRIEN_Pos) /*!< UART_T::INTEN: BUFERRIEN Mask */ 00900 00901 #define UART_INTEN_WKIEN_Pos (6) /*!< UART_T::INTEN: WKIEN Position */ 00902 #define UART_INTEN_WKIEN_Msk (0x1ul << UART_INTEN_WKIEN_Pos) /*!< UART_T::INTEN: WKIEN Mask */ 00903 00904 #define UART_INTEN_LINIEN_Pos (8) /*!< UART_T::INTEN: LINIEN Position */ 00905 #define UART_INTEN_LINIEN_Msk (0x1ul << UART_INTEN_LINIEN_Pos) /*!< UART_T::INTEN: LINIEN Mask */ 00906 00907 #define UART_INTEN_TOCNTEN_Pos (11) /*!< UART_T::INTEN: TOCNTEN Position */ 00908 #define UART_INTEN_TOCNTEN_Msk (0x1ul << UART_INTEN_TOCNTEN_Pos) /*!< UART_T::INTEN: TOCNTEN Mask */ 00909 00910 #define UART_INTEN_ATORTSEN_Pos (12) /*!< UART_T::INTEN: ATORTSEN Position */ 00911 #define UART_INTEN_ATORTSEN_Msk (0x1ul << UART_INTEN_ATORTSEN_Pos) /*!< UART_T::INTEN: ATORTSEN Mask */ 00912 00913 #define UART_INTEN_ATOCTSEN_Pos (13) /*!< UART_T::INTEN: ATOCTSEN Position */ 00914 #define UART_INTEN_ATOCTSEN_Msk (0x1ul << UART_INTEN_ATOCTSEN_Pos) /*!< UART_T::INTEN: ATOCTSEN Mask */ 00915 00916 #define UART_INTEN_TXPDMAEN_Pos (14) /*!< UART_T::INTEN: TXPDMAEN Position */ 00917 #define UART_INTEN_TXPDMAEN_Msk (0x1ul << UART_INTEN_TXPDMAEN_Pos) /*!< UART_T::INTEN: TXPDMAEN Mask */ 00918 00919 #define UART_INTEN_RXPDMAEN_Pos (15) /*!< UART_T::INTEN: RXPDMAEN Position */ 00920 #define UART_INTEN_RXPDMAEN_Msk (0x1ul << UART_INTEN_RXPDMAEN_Pos) /*!< UART_T::INTEN: RXPDMAEN Mask */ 00921 00922 #define UART_INTEN_ABRIEN_Pos (18) /*!< UART_T::INTEN: ABRIEN Position */ 00923 #define UART_INTEN_ABRIEN_Msk (0x1ul << UART_INTEN_ABRIEN_Pos) /*!< UART_T::INTEN: ABRIEN Mask */ 00924 00925 #define UART_INTEN_TXENDIEN_Pos (22) /*!< UART_T::INTEN: TXENDIEN Position */ 00926 #define UART_INTEN_TXENDIEN_Msk (0x1ul << UART_INTEN_TXENDIEN_Pos) /*!< UART_T::INTEN: TXENDIEN Mask */ 00927 00928 #define UART_FIFO_RXRST_Pos (1) /*!< UART_T::FIFO: RXRST Position */ 00929 #define UART_FIFO_RXRST_Msk (0x1ul << UART_FIFO_RXRST_Pos) /*!< UART_T::FIFO: RXRST Mask */ 00930 00931 #define UART_FIFO_TXRST_Pos (2) /*!< UART_T::FIFO: TXRST Position */ 00932 #define UART_FIFO_TXRST_Msk (0x1ul << UART_FIFO_TXRST_Pos) /*!< UART_T::FIFO: TXRST Mask */ 00933 00934 #define UART_FIFO_RFITL_Pos (4) /*!< UART_T::FIFO: RFITL Position */ 00935 #define UART_FIFO_RFITL_Msk (0xful << UART_FIFO_RFITL_Pos) /*!< UART_T::FIFO: RFITL Mask */ 00936 00937 #define UART_FIFO_RXOFF_Pos (8) /*!< UART_T::FIFO: RXOFF Position */ 00938 #define UART_FIFO_RXOFF_Msk (0x1ul << UART_FIFO_RXOFF_Pos) /*!< UART_T::FIFO: RXOFF Mask */ 00939 00940 #define UART_FIFO_RTSTRGLV_Pos (16) /*!< UART_T::FIFO: RTSTRGLV Position */ 00941 #define UART_FIFO_RTSTRGLV_Msk (0xful << UART_FIFO_RTSTRGLV_Pos) /*!< UART_T::FIFO: RTSTRGLV Mask */ 00942 00943 #define UART_LINE_WLS_Pos (0) /*!< UART_T::LINE: WLS Position */ 00944 #define UART_LINE_WLS_Msk (0x3ul << UART_LINE_WLS_Pos) /*!< UART_T::LINE: WLS Mask */ 00945 00946 #define UART_LINE_NSB_Pos (2) /*!< UART_T::LINE: NSB Position */ 00947 #define UART_LINE_NSB_Msk (0x1ul << UART_LINE_NSB_Pos) /*!< UART_T::LINE: NSB Mask */ 00948 00949 #define UART_LINE_PBE_Pos (3) /*!< UART_T::LINE: PBE Position */ 00950 #define UART_LINE_PBE_Msk (0x1ul << UART_LINE_PBE_Pos) /*!< UART_T::LINE: PBE Mask */ 00951 00952 #define UART_LINE_EPE_Pos (4) /*!< UART_T::LINE: EPE Position */ 00953 #define UART_LINE_EPE_Msk (0x1ul << UART_LINE_EPE_Pos) /*!< UART_T::LINE: EPE Mask */ 00954 00955 #define UART_LINE_SPE_Pos (5) /*!< UART_T::LINE: SPE Position */ 00956 #define UART_LINE_SPE_Msk (0x1ul << UART_LINE_SPE_Pos) /*!< UART_T::LINE: SPE Mask */ 00957 00958 #define UART_LINE_BCB_Pos (6) /*!< UART_T::LINE: BCB Position */ 00959 #define UART_LINE_BCB_Msk (0x1ul << UART_LINE_BCB_Pos) /*!< UART_T::LINE: BCB Mask */ 00960 00961 #define UART_LINE_PSS_Pos (7) /*!< UART_T::LINE: PSS Position */ 00962 #define UART_LINE_PSS_Msk (0x1ul << UART_LINE_PSS_Pos) /*!< UART_T::LINE: PSS Mask */ 00963 00964 #define UART_LINE_TXDINV_Pos (8) /*!< UART_T::LINE: TXDINV Position */ 00965 #define UART_LINE_TXDINV_Msk (0x1ul << UART_LINE_TXDINV_Pos) /*!< UART_T::LINE: TXDINV Mask */ 00966 00967 #define UART_LINE_RXDINV_Pos (9) /*!< UART_T::LINE: RXDINV Position */ 00968 #define UART_LINE_RXDINV_Msk (0x1ul << UART_LINE_RXDINV_Pos) /*!< UART_T::LINE: RXDINV Mask */ 00969 00970 #define UART_MODEM_RTS_Pos (1) /*!< UART_T::MODEM: RTS Position */ 00971 #define UART_MODEM_RTS_Msk (0x1ul << UART_MODEM_RTS_Pos) /*!< UART_T::MODEM: RTS Mask */ 00972 00973 #define UART_MODEM_RTSACTLV_Pos (9) /*!< UART_T::MODEM: RTSACTLV Position */ 00974 #define UART_MODEM_RTSACTLV_Msk (0x1ul << UART_MODEM_RTSACTLV_Pos) /*!< UART_T::MODEM: RTSACTLV Mask */ 00975 00976 #define UART_MODEM_RTSSTS_Pos (13) /*!< UART_T::MODEM: RTSSTS Position */ 00977 #define UART_MODEM_RTSSTS_Msk (0x1ul << UART_MODEM_RTSSTS_Pos) /*!< UART_T::MODEM: RTSSTS Mask */ 00978 00979 #define UART_MODEMSTS_CTSDETF_Pos (0) /*!< UART_T::MODEMSTS: CTSDETF Position */ 00980 #define UART_MODEMSTS_CTSDETF_Msk (0x1ul << UART_MODEMSTS_CTSDETF_Pos) /*!< UART_T::MODEMSTS: CTSDETF Mask */ 00981 00982 #define UART_MODEMSTS_CTSSTS_Pos (4) /*!< UART_T::MODEMSTS: CTSSTS Position */ 00983 #define UART_MODEMSTS_CTSSTS_Msk (0x1ul << UART_MODEMSTS_CTSSTS_Pos) /*!< UART_T::MODEMSTS: CTSSTS Mask */ 00984 00985 #define UART_MODEMSTS_CTSACTLV_Pos (8) /*!< UART_T::MODEMSTS: CTSACTLV Position */ 00986 #define UART_MODEMSTS_CTSACTLV_Msk (0x1ul << UART_MODEMSTS_CTSACTLV_Pos) /*!< UART_T::MODEMSTS: CTSACTLV Mask */ 00987 00988 #define UART_FIFOSTS_RXOVIF_Pos (0) /*!< UART_T::FIFOSTS: RXOVIF Position */ 00989 #define UART_FIFOSTS_RXOVIF_Msk (0x1ul << UART_FIFOSTS_RXOVIF_Pos) /*!< UART_T::FIFOSTS: RXOVIF Mask */ 00990 00991 #define UART_FIFOSTS_ABRDIF_Pos (1) /*!< UART_T::FIFOSTS: ABRDIF Position */ 00992 #define UART_FIFOSTS_ABRDIF_Msk (0x1ul << UART_FIFOSTS_ABRDIF_Pos) /*!< UART_T::FIFOSTS: ABRDIF Mask */ 00993 00994 #define UART_FIFOSTS_ABRDTOIF_Pos (2) /*!< UART_T::FIFOSTS: ABRDTOIF Position */ 00995 #define UART_FIFOSTS_ABRDTOIF_Msk (0x1ul << UART_FIFOSTS_ABRDTOIF_Pos) /*!< UART_T::FIFOSTS: ABRDTOIF Mask */ 00996 00997 #define UART_FIFOSTS_ADDRDETF_Pos (3) /*!< UART_T::FIFOSTS: ADDRDETF Position */ 00998 #define UART_FIFOSTS_ADDRDETF_Msk (0x1ul << UART_FIFOSTS_ADDRDETF_Pos) /*!< UART_T::FIFOSTS: ADDRDETF Mask */ 00999 01000 #define UART_FIFOSTS_PEF_Pos (4) /*!< UART_T::FIFOSTS: PEF Position */ 01001 #define UART_FIFOSTS_PEF_Msk (0x1ul << UART_FIFOSTS_PEF_Pos) /*!< UART_T::FIFOSTS: PEF Mask */ 01002 01003 #define UART_FIFOSTS_FEF_Pos (5) /*!< UART_T::FIFOSTS: FEF Position */ 01004 #define UART_FIFOSTS_FEF_Msk (0x1ul << UART_FIFOSTS_FEF_Pos) /*!< UART_T::FIFOSTS: FEF Mask */ 01005 01006 #define UART_FIFOSTS_BIF_Pos (6) /*!< UART_T::FIFOSTS: BIF Position */ 01007 #define UART_FIFOSTS_BIF_Msk (0x1ul << UART_FIFOSTS_BIF_Pos) /*!< UART_T::FIFOSTS: BIF Mask */ 01008 01009 #define UART_FIFOSTS_RXPTR_Pos (8) /*!< UART_T::FIFOSTS: RXPTR Position */ 01010 #define UART_FIFOSTS_RXPTR_Msk (0x3ful << UART_FIFOSTS_RXPTR_Pos) /*!< UART_T::FIFOSTS: RXPTR Mask */ 01011 01012 #define UART_FIFOSTS_RXEMPTY_Pos (14) /*!< UART_T::FIFOSTS: RXEMPTY Position */ 01013 #define UART_FIFOSTS_RXEMPTY_Msk (0x1ul << UART_FIFOSTS_RXEMPTY_Pos) /*!< UART_T::FIFOSTS: RXEMPTY Mask */ 01014 01015 #define UART_FIFOSTS_RXFULL_Pos (15) /*!< UART_T::FIFOSTS: RXFULL Position */ 01016 #define UART_FIFOSTS_RXFULL_Msk (0x1ul << UART_FIFOSTS_RXFULL_Pos) /*!< UART_T::FIFOSTS: RXFULL Mask */ 01017 01018 #define UART_FIFOSTS_TXPTR_Pos (16) /*!< UART_T::FIFOSTS: TXPTR Position */ 01019 #define UART_FIFOSTS_TXPTR_Msk (0x3ful << UART_FIFOSTS_TXPTR_Pos) /*!< UART_T::FIFOSTS: TXPTR Mask */ 01020 01021 #define UART_FIFOSTS_TXEMPTY_Pos (22) /*!< UART_T::FIFOSTS: TXEMPTY Position */ 01022 #define UART_FIFOSTS_TXEMPTY_Msk (0x1ul << UART_FIFOSTS_TXEMPTY_Pos) /*!< UART_T::FIFOSTS: TXEMPTY Mask */ 01023 01024 #define UART_FIFOSTS_TXFULL_Pos (23) /*!< UART_T::FIFOSTS: TXFULL Position */ 01025 #define UART_FIFOSTS_TXFULL_Msk (0x1ul << UART_FIFOSTS_TXFULL_Pos) /*!< UART_T::FIFOSTS: TXFULL Mask */ 01026 01027 #define UART_FIFOSTS_TXOVIF_Pos (24) /*!< UART_T::FIFOSTS: TXOVIF Position */ 01028 #define UART_FIFOSTS_TXOVIF_Msk (0x1ul << UART_FIFOSTS_TXOVIF_Pos) /*!< UART_T::FIFOSTS: TXOVIF Mask */ 01029 01030 #define UART_FIFOSTS_TXEMPTYF_Pos (28) /*!< UART_T::FIFOSTS: TXEMPTYF Position */ 01031 #define UART_FIFOSTS_TXEMPTYF_Msk (0x1ul << UART_FIFOSTS_TXEMPTYF_Pos) /*!< UART_T::FIFOSTS: TXEMPTYF Mask */ 01032 01033 #define UART_FIFOSTS_RXIDLE_Pos (29) /*!< UART_T::FIFOSTS: RXIDLE Position */ 01034 #define UART_FIFOSTS_RXIDLE_Msk (0x1ul << UART_FIFOSTS_RXIDLE_Pos) /*!< UART_T::FIFOSTS: RXIDLE Mask */ 01035 01036 #define UART_FIFOSTS_TXRXACT_Pos (31) /*!< UART_T::FIFOSTS: TXRXACT Position */ 01037 #define UART_FIFOSTS_TXRXACT_Msk (0x1ul << UART_FIFOSTS_TXRXACT_Pos) /*!< UART_T::FIFOSTS: TXRXACT Mask */ 01038 01039 #define UART_INTSTS_RDAIF_Pos (0) /*!< UART_T::INTSTS: RDAIF Position */ 01040 #define UART_INTSTS_RDAIF_Msk (0x1ul << UART_INTSTS_RDAIF_Pos) /*!< UART_T::INTSTS: RDAIF Mask */ 01041 01042 #define UART_INTSTS_THREIF_Pos (1) /*!< UART_T::INTSTS: THREIF Position */ 01043 #define UART_INTSTS_THREIF_Msk (0x1ul << UART_INTSTS_THREIF_Pos) /*!< UART_T::INTSTS: THREIF Mask */ 01044 01045 #define UART_INTSTS_RLSIF_Pos (2) /*!< UART_T::INTSTS: RLSIF Position */ 01046 #define UART_INTSTS_RLSIF_Msk (0x1ul << UART_INTSTS_RLSIF_Pos) /*!< UART_T::INTSTS: RLSIF Mask */ 01047 01048 #define UART_INTSTS_MODEMIF_Pos (3) /*!< UART_T::INTSTS: MODEMIF Position */ 01049 #define UART_INTSTS_MODEMIF_Msk (0x1ul << UART_INTSTS_MODEMIF_Pos) /*!< UART_T::INTSTS: MODEMIF Mask */ 01050 01051 #define UART_INTSTS_RXTOIF_Pos (4) /*!< UART_T::INTSTS: RXTOIF Position */ 01052 #define UART_INTSTS_RXTOIF_Msk (0x1ul << UART_INTSTS_RXTOIF_Pos) /*!< UART_T::INTSTS: RXTOIF Mask */ 01053 01054 #define UART_INTSTS_BUFERRIF_Pos (5) /*!< UART_T::INTSTS: BUFERRIF Position */ 01055 #define UART_INTSTS_BUFERRIF_Msk (0x1ul << UART_INTSTS_BUFERRIF_Pos) /*!< UART_T::INTSTS: BUFERRIF Mask */ 01056 01057 #define UART_INTSTS_WKIF_Pos (6) /*!< UART_T::INTSTS: WKIF Position */ 01058 #define UART_INTSTS_WKIF_Msk (0x1ul << UART_INTSTS_WKIF_Pos) /*!< UART_T::INTSTS: WKIF Mask */ 01059 01060 #define UART_INTSTS_LINIF_Pos (7) /*!< UART_T::INTSTS: LINIF Position */ 01061 #define UART_INTSTS_LINIF_Msk (0x1ul << UART_INTSTS_LINIF_Pos) /*!< UART_T::INTSTS: LINIF Mask */ 01062 01063 #define UART_INTSTS_RDAINT_Pos (8) /*!< UART_T::INTSTS: RDAINT Position */ 01064 #define UART_INTSTS_RDAINT_Msk (0x1ul << UART_INTSTS_RDAINT_Pos) /*!< UART_T::INTSTS: RDAINT Mask */ 01065 01066 #define UART_INTSTS_THREINT_Pos (9) /*!< UART_T::INTSTS: THREINT Position */ 01067 #define UART_INTSTS_THREINT_Msk (0x1ul << UART_INTSTS_THREINT_Pos) /*!< UART_T::INTSTS: THREINT Mask */ 01068 01069 #define UART_INTSTS_RLSINT_Pos (10) /*!< UART_T::INTSTS: RLSINT Position */ 01070 #define UART_INTSTS_RLSINT_Msk (0x1ul << UART_INTSTS_RLSINT_Pos) /*!< UART_T::INTSTS: RLSINT Mask */ 01071 01072 #define UART_INTSTS_MODEMINT_Pos (11) /*!< UART_T::INTSTS: MODEMINT Position */ 01073 #define UART_INTSTS_MODEMINT_Msk (0x1ul << UART_INTSTS_MODEMINT_Pos) /*!< UART_T::INTSTS: MODEMINT Mask */ 01074 01075 #define UART_INTSTS_RXTOINT_Pos (12) /*!< UART_T::INTSTS: RXTOINT Position */ 01076 #define UART_INTSTS_RXTOINT_Msk (0x1ul << UART_INTSTS_RXTOINT_Pos) /*!< UART_T::INTSTS: RXTOINT Mask */ 01077 01078 #define UART_INTSTS_BUFERRINT_Pos (13) /*!< UART_T::INTSTS: BUFERRINT Position */ 01079 #define UART_INTSTS_BUFERRINT_Msk (0x1ul << UART_INTSTS_BUFERRINT_Pos) /*!< UART_T::INTSTS: BUFERRINT Mask */ 01080 01081 #define UART_INTSTS_WKINT_Pos (14) /*!< UART_T::INTSTS: WKINT Position */ 01082 #define UART_INTSTS_WKINT_Msk (0x1ul << UART_INTSTS_WKINT_Pos) /*!< UART_T::INTSTS: WKINT Mask */ 01083 01084 #define UART_INTSTS_LININT_Pos (15) /*!< UART_T::INTSTS: LININT Position */ 01085 #define UART_INTSTS_LININT_Msk (0x1ul << UART_INTSTS_LININT_Pos) /*!< UART_T::INTSTS: LININT Mask */ 01086 01087 #define UART_INTSTS_HWRLSIF_Pos (18) /*!< UART_T::INTSTS: HWRLSIF Position */ 01088 #define UART_INTSTS_HWRLSIF_Msk (0x1ul << UART_INTSTS_HWRLSIF_Pos) /*!< UART_T::INTSTS: HWRLSIF Mask */ 01089 01090 #define UART_INTSTS_HWMODIF_Pos (19) /*!< UART_T::INTSTS: HWMODIF Position */ 01091 #define UART_INTSTS_HWMODIF_Msk (0x1ul << UART_INTSTS_HWMODIF_Pos) /*!< UART_T::INTSTS: HWMODIF Mask */ 01092 01093 #define UART_INTSTS_HWTOIF_Pos (20) /*!< UART_T::INTSTS: HWTOIF Position */ 01094 #define UART_INTSTS_HWTOIF_Msk (0x1ul << UART_INTSTS_HWTOIF_Pos) /*!< UART_T::INTSTS: HWTOIF Mask */ 01095 01096 #define UART_INTSTS_HWBUFEIF_Pos (21) /*!< UART_T::INTSTS: HWBUFEIF Position */ 01097 #define UART_INTSTS_HWBUFEIF_Msk (0x1ul << UART_INTSTS_HWBUFEIF_Pos) /*!< UART_T::INTSTS: HWBUFEIF Mask */ 01098 01099 #define UART_INTSTS_TXENDIF_Pos (22) /*!< UART_T::INTSTS: TXENDIF Position */ 01100 #define UART_INTSTS_TXENDIF_Msk (0x1ul << UART_INTSTS_TXENDIF_Pos) /*!< UART_T::INTSTS: TXENDIF Mask */ 01101 01102 #define UART_INTSTS_HWRLSINT_Pos (26) /*!< UART_T::INTSTS: HWRLSINT Position */ 01103 #define UART_INTSTS_HWRLSINT_Msk (0x1ul << UART_INTSTS_HWRLSINT_Pos) /*!< UART_T::INTSTS: HWRLSINT Mask */ 01104 01105 #define UART_INTSTS_HWMODINT_Pos (27) /*!< UART_T::INTSTS: HWMODINT Position */ 01106 #define UART_INTSTS_HWMODINT_Msk (0x1ul << UART_INTSTS_HWMODINT_Pos) /*!< UART_T::INTSTS: HWMODINT Mask */ 01107 01108 #define UART_INTSTS_HWTOINT_Pos (28) /*!< UART_T::INTSTS: HWTOINT Position */ 01109 #define UART_INTSTS_HWTOINT_Msk (0x1ul << UART_INTSTS_HWTOINT_Pos) /*!< UART_T::INTSTS: HWTOINT Mask */ 01110 01111 #define UART_INTSTS_HWBUFEINT_Pos (29) /*!< UART_T::INTSTS: HWBUFEINT Position */ 01112 #define UART_INTSTS_HWBUFEINT_Msk (0x1ul << UART_INTSTS_HWBUFEINT_Pos) /*!< UART_T::INTSTS: HWBUFEINT Mask */ 01113 01114 #define UART_INTSTS_TXENDINT_Pos (30) /*!< UART_T::INTSTS: TXENDINT Position */ 01115 #define UART_INTSTS_TXENDINT_Msk (0x1ul << UART_INTSTS_TXENDINT_Pos) /*!< UART_T::INTSTS: TXENDINT Mask */ 01116 01117 #define UART_INTSTS_ABRINT_Pos (31) /*!< UART_T::INTSTS: ABRINT Position */ 01118 #define UART_INTSTS_ABRINT_Msk (0x1ul << UART_INTSTS_ABRINT_Pos) /*!< UART_T::INTSTS: ABRINT Mask */ 01119 01120 #define UART_TOUT_TOIC_Pos (0) /*!< UART_T::TOUT: TOIC Position */ 01121 #define UART_TOUT_TOIC_Msk (0xfful << UART_TOUT_TOIC_Pos) /*!< UART_T::TOUT: TOIC Mask */ 01122 01123 #define UART_TOUT_DLY_Pos (8) /*!< UART_T::TOUT: DLY Position */ 01124 #define UART_TOUT_DLY_Msk (0xfful << UART_TOUT_DLY_Pos) /*!< UART_T::TOUT: DLY Mask */ 01125 01126 #define UART_BAUD_BRD_Pos (0) /*!< UART_T::BAUD: BRD Position */ 01127 #define UART_BAUD_BRD_Msk (0xfffful << UART_BAUD_BRD_Pos) /*!< UART_T::BAUD: BRD Mask */ 01128 01129 #define UART_BAUD_EDIVM1_Pos (24) /*!< UART_T::BAUD: EDIVM1 Position */ 01130 #define UART_BAUD_EDIVM1_Msk (0xful << UART_BAUD_EDIVM1_Pos) /*!< UART_T::BAUD: EDIVM1 Mask */ 01131 01132 #define UART_BAUD_BAUDM0_Pos (28) /*!< UART_T::BAUD: BAUDM0 Position */ 01133 #define UART_BAUD_BAUDM0_Msk (0x1ul << UART_BAUD_BAUDM0_Pos) /*!< UART_T::BAUD: BAUDM0 Mask */ 01134 01135 #define UART_BAUD_BAUDM1_Pos (29) /*!< UART_T::BAUD: BAUDM1 Position */ 01136 #define UART_BAUD_BAUDM1_Msk (0x1ul << UART_BAUD_BAUDM1_Pos) /*!< UART_T::BAUD: BAUDM1 Mask */ 01137 01138 #define UART_IRDA_TXEN_Pos (1) /*!< UART_T::IRDA: TXEN Position */ 01139 #define UART_IRDA_TXEN_Msk (0x1ul << UART_IRDA_TXEN_Pos) /*!< UART_T::IRDA: TXEN Mask */ 01140 01141 #define UART_IRDA_TXINV_Pos (5) /*!< UART_T::IRDA: TXINV Position */ 01142 #define UART_IRDA_TXINV_Msk (0x1ul << UART_IRDA_TXINV_Pos) /*!< UART_T::IRDA: TXINV Mask */ 01143 01144 #define UART_IRDA_RXINV_Pos (6) /*!< UART_T::IRDA: RXINV Position */ 01145 #define UART_IRDA_RXINV_Msk (0x1ul << UART_IRDA_RXINV_Pos) /*!< UART_T::IRDA: RXINV Mask */ 01146 01147 #define UART_ALTCTL_BRKFL_Pos (0) /*!< UART_T::ALTCTL: BRKFL Position */ 01148 #define UART_ALTCTL_BRKFL_Msk (0xful << UART_ALTCTL_BRKFL_Pos) /*!< UART_T::ALTCTL: BRKFL Mask */ 01149 01150 #define UART_ALTCTL_LINRXEN_Pos (6) /*!< UART_T::ALTCTL: LINRXEN Position */ 01151 #define UART_ALTCTL_LINRXEN_Msk (0x1ul << UART_ALTCTL_LINRXEN_Pos) /*!< UART_T::ALTCTL: LINRXEN Mask */ 01152 01153 #define UART_ALTCTL_LINTXEN_Pos (7) /*!< UART_T::ALTCTL: LINTXEN Position */ 01154 #define UART_ALTCTL_LINTXEN_Msk (0x1ul << UART_ALTCTL_LINTXEN_Pos) /*!< UART_T::ALTCTL: LINTXEN Mask */ 01155 01156 #define UART_ALTCTL_RS485NMM_Pos (8) /*!< UART_T::ALTCTL: RS485NMM Position */ 01157 #define UART_ALTCTL_RS485NMM_Msk (0x1ul << UART_ALTCTL_RS485NMM_Pos) /*!< UART_T::ALTCTL: RS485NMM Mask */ 01158 01159 #define UART_ALTCTL_RS485AAD_Pos (9) /*!< UART_T::ALTCTL: RS485AAD Position */ 01160 #define UART_ALTCTL_RS485AAD_Msk (0x1ul << UART_ALTCTL_RS485AAD_Pos) /*!< UART_T::ALTCTL: RS485AAD Mask */ 01161 01162 #define UART_ALTCTL_RS485AUD_Pos (10) /*!< UART_T::ALTCTL: RS485AUD Position */ 01163 #define UART_ALTCTL_RS485AUD_Msk (0x1ul << UART_ALTCTL_RS485AUD_Pos) /*!< UART_T::ALTCTL: RS485AUD Mask */ 01164 01165 #define UART_ALTCTL_ADDRDEN_Pos (15) /*!< UART_T::ALTCTL: ADDRDEN Position */ 01166 #define UART_ALTCTL_ADDRDEN_Msk (0x1ul << UART_ALTCTL_ADDRDEN_Pos) /*!< UART_T::ALTCTL: ADDRDEN Mask */ 01167 01168 #define UART_ALTCTL_ABRIF_Pos (17) /*!< UART_T::ALTCTL: ABRIF Position */ 01169 #define UART_ALTCTL_ABRIF_Msk (0x1ul << UART_ALTCTL_ABRIF_Pos) /*!< UART_T::ALTCTL: ABRIF Mask */ 01170 01171 #define UART_ALTCTL_ABRDEN_Pos (18) /*!< UART_T::ALTCTL: ABRDEN Position */ 01172 #define UART_ALTCTL_ABRDEN_Msk (0x1ul << UART_ALTCTL_ABRDEN_Pos) /*!< UART_T::ALTCTL: ABRDEN Mask */ 01173 01174 #define UART_ALTCTL_ABRDBITS_Pos (19) /*!< UART_T::ALTCTL: ABRDBITS Position */ 01175 #define UART_ALTCTL_ABRDBITS_Msk (0x3ul << UART_ALTCTL_ABRDBITS_Pos) /*!< UART_T::ALTCTL: ABRDBITS Mask */ 01176 01177 #define UART_ALTCTL_ADDRMV_Pos (24) /*!< UART_T::ALTCTL: ADDRMV Position */ 01178 #define UART_ALTCTL_ADDRMV_Msk (0xfful << UART_ALTCTL_ADDRMV_Pos) /*!< UART_T::ALTCTL: ADDRMV Mask */ 01179 01180 #define UART_FUNCSEL_FUNCSEL_Pos (0) /*!< UART_T::FUNCSEL: FUNCSEL Position */ 01181 #define UART_FUNCSEL_FUNCSEL_Msk (0x3ul << UART_FUNCSEL_FUNCSEL_Pos) /*!< UART_T::FUNCSEL: FUNCSEL Mask */ 01182 01183 #define UART_FUNCSEL_TXRXDIS_Pos (3) /*!< UART_T::FUNCSEL: TXRXDIS Position */ 01184 #define UART_FUNCSEL_TXRXDIS_Msk (0x1ul << UART_FUNCSEL_TXRXDIS_Pos) /*!< UART_T::FUNCSEL: TXRXDIS Mask */ 01185 01186 #define UART_LINCTL_SLVEN_Pos (0) /*!< UART_T::LINCTL: SLVEN Position */ 01187 #define UART_LINCTL_SLVEN_Msk (0x1ul << UART_LINCTL_SLVEN_Pos) /*!< UART_T::LINCTL: SLVEN Mask */ 01188 01189 #define UART_LINCTL_SLVHDEN_Pos (1) /*!< UART_T::LINCTL: SLVHDEN Position */ 01190 #define UART_LINCTL_SLVHDEN_Msk (0x1ul << UART_LINCTL_SLVHDEN_Pos) /*!< UART_T::LINCTL: SLVHDEN Mask */ 01191 01192 #define UART_LINCTL_SLVAREN_Pos (2) /*!< UART_T::LINCTL: SLVAREN Position */ 01193 #define UART_LINCTL_SLVAREN_Msk (0x1ul << UART_LINCTL_SLVAREN_Pos) /*!< UART_T::LINCTL: SLVAREN Mask */ 01194 01195 #define UART_LINCTL_SLVDUEN_Pos (3) /*!< UART_T::LINCTL: SLVDUEN Position */ 01196 #define UART_LINCTL_SLVDUEN_Msk (0x1ul << UART_LINCTL_SLVDUEN_Pos) /*!< UART_T::LINCTL: SLVDUEN Mask */ 01197 01198 #define UART_LINCTL_MUTE_Pos (4) /*!< UART_T::LINCTL: MUTE Position */ 01199 #define UART_LINCTL_MUTE_Msk (0x1ul << UART_LINCTL_MUTE_Pos) /*!< UART_T::LINCTL: MUTE Mask */ 01200 01201 #define UART_LINCTL_SENDH_Pos (8) /*!< UART_T::LINCTL: SENDH Position */ 01202 #define UART_LINCTL_SENDH_Msk (0x1ul << UART_LINCTL_SENDH_Pos) /*!< UART_T::LINCTL: SENDH Mask */ 01203 01204 #define UART_LINCTL_IDPEN_Pos (9) /*!< UART_T::LINCTL: IDPEN Position */ 01205 #define UART_LINCTL_IDPEN_Msk (0x1ul << UART_LINCTL_IDPEN_Pos) /*!< UART_T::LINCTL: IDPEN Mask */ 01206 01207 #define UART_LINCTL_BRKDETEN_Pos (10) /*!< UART_T::LINCTL: BRKDETEN Position */ 01208 #define UART_LINCTL_BRKDETEN_Msk (0x1ul << UART_LINCTL_BRKDETEN_Pos) /*!< UART_T::LINCTL: BRKDETEN Mask */ 01209 01210 #define UART_LINCTL_LINRXOFF_Pos (11) /*!< UART_T::LINCTL: LINRXOFF Position */ 01211 #define UART_LINCTL_LINRXOFF_Msk (0x1ul << UART_LINCTL_LINRXOFF_Pos) /*!< UART_T::LINCTL: LINRXOFF Mask */ 01212 01213 #define UART_LINCTL_BITERREN_Pos (12) /*!< UART_T::LINCTL: BITERREN Position */ 01214 #define UART_LINCTL_BITERREN_Msk (0x1ul << UART_LINCTL_BITERREN_Pos) /*!< UART_T::LINCTL: BITERREN Mask */ 01215 01216 #define UART_LINCTL_BRKFL_Pos (16) /*!< UART_T::LINCTL: BRKFL Position */ 01217 #define UART_LINCTL_BRKFL_Msk (0xful << UART_LINCTL_BRKFL_Pos) /*!< UART_T::LINCTL: BRKFL Mask */ 01218 01219 #define UART_LINCTL_BSL_Pos (20) /*!< UART_T::LINCTL: BSL Position */ 01220 #define UART_LINCTL_BSL_Msk (0x3ul << UART_LINCTL_BSL_Pos) /*!< UART_T::LINCTL: BSL Mask */ 01221 01222 #define UART_LINCTL_HSEL_Pos (22) /*!< UART_T::LINCTL: HSEL Position */ 01223 #define UART_LINCTL_HSEL_Msk (0x3ul << UART_LINCTL_HSEL_Pos) /*!< UART_T::LINCTL: HSEL Mask */ 01224 01225 #define UART_LINCTL_PID_Pos (24) /*!< UART_T::LINCTL: PID Position */ 01226 #define UART_LINCTL_PID_Msk (0xfful << UART_LINCTL_PID_Pos) /*!< UART_T::LINCTL: PID Mask */ 01227 01228 #define UART_LINSTS_SLVHDETF_Pos (0) /*!< UART_T::LINSTS: SLVHDETF Position */ 01229 #define UART_LINSTS_SLVHDETF_Msk (0x1ul << UART_LINSTS_SLVHDETF_Pos) /*!< UART_T::LINSTS: SLVHDETF Mask */ 01230 01231 #define UART_LINSTS_SLVHEF_Pos (1) /*!< UART_T::LINSTS: SLVHEF Position */ 01232 #define UART_LINSTS_SLVHEF_Msk (0x1ul << UART_LINSTS_SLVHEF_Pos) /*!< UART_T::LINSTS: SLVHEF Mask */ 01233 01234 #define UART_LINSTS_SLVIDPEF_Pos (2) /*!< UART_T::LINSTS: SLVIDPEF Position */ 01235 #define UART_LINSTS_SLVIDPEF_Msk (0x1ul << UART_LINSTS_SLVIDPEF_Pos) /*!< UART_T::LINSTS: SLVIDPEF Mask */ 01236 01237 #define UART_LINSTS_SLVSYNCF_Pos (3) /*!< UART_T::LINSTS: SLVSYNCF Position */ 01238 #define UART_LINSTS_SLVSYNCF_Msk (0x1ul << UART_LINSTS_SLVSYNCF_Pos) /*!< UART_T::LINSTS: SLVSYNCF Mask */ 01239 01240 #define UART_LINSTS_BRKDETF_Pos (8) /*!< UART_T::LINSTS: BRKDETF Position */ 01241 #define UART_LINSTS_BRKDETF_Msk (0x1ul << UART_LINSTS_BRKDETF_Pos) /*!< UART_T::LINSTS: BRKDETF Mask */ 01242 01243 #define UART_LINSTS_BITEF_Pos (9) /*!< UART_T::LINSTS: BITEF Position */ 01244 #define UART_LINSTS_BITEF_Msk (0x1ul << UART_LINSTS_BITEF_Pos) /*!< UART_T::LINSTS: BITEF Mask */ 01245 01246 #define UART_BRCOMP_BRCOMP_Pos (0) /*!< UART_T::BRCOMP: BRCOMP Position */ 01247 #define UART_BRCOMP_BRCOMP_Msk (0x1fful << UART_BRCOMP_BRCOMP_Pos) /*!< UART_T::BRCOMP: BRCOMP Mask */ 01248 01249 #define UART_BRCOMP_BRCOMPDEC_Pos (31) /*!< UART_T::BRCOMP: BRCOMPDEC Position */ 01250 #define UART_BRCOMP_BRCOMPDEC_Msk (0x1ul << UART_BRCOMP_BRCOMPDEC_Pos) /*!< UART_T::BRCOMP: BRCOMPDEC Mask */ 01251 01252 #define UART_WKCTL_WKCTSEN_Pos (0) /*!< UART_T::WKCTL: WKCTSEN Position */ 01253 #define UART_WKCTL_WKCTSEN_Msk (0x1ul << UART_WKCTL_WKCTSEN_Pos) /*!< UART_T::WKCTL: WKCTSEN Mask */ 01254 01255 #define UART_WKCTL_WKDATEN_Pos (1) /*!< UART_T::WKCTL: WKDATEN Position */ 01256 #define UART_WKCTL_WKDATEN_Msk (0x1ul << UART_WKCTL_WKDATEN_Pos) /*!< UART_T::WKCTL: WKDATEN Mask */ 01257 01258 #define UART_WKCTL_WKRFRTEN_Pos (2) /*!< UART_T::WKCTL: WKRFRTEN Position */ 01259 #define UART_WKCTL_WKRFRTEN_Msk (0x1ul << UART_WKCTL_WKRFRTEN_Pos) /*!< UART_T::WKCTL: WKRFRTEN Mask */ 01260 01261 #define UART_WKCTL_WKRS485EN_Pos (3) /*!< UART_T::WKCTL: WKRS485EN Position */ 01262 #define UART_WKCTL_WKRS485EN_Msk (0x1ul << UART_WKCTL_WKRS485EN_Pos) /*!< UART_T::WKCTL: WKRS485EN Mask */ 01263 01264 #define UART_WKCTL_WKTOUTEN_Pos (4) /*!< UART_T::WKCTL: WKTOUTEN Position */ 01265 #define UART_WKCTL_WKTOUTEN_Msk (0x1ul << UART_WKCTL_WKTOUTEN_Pos) /*!< UART_T::WKCTL: WKTOUTEN Mask */ 01266 01267 #define UART_WKSTS_CTSWKF_Pos (0) /*!< UART_T::WKSTS: CTSWKF Position */ 01268 #define UART_WKSTS_CTSWKF_Msk (0x1ul << UART_WKSTS_CTSWKF_Pos) /*!< UART_T::WKSTS: CTSWKF Mask */ 01269 01270 #define UART_WKSTS_DATWKF_Pos (1) /*!< UART_T::WKSTS: DATWKF Position */ 01271 #define UART_WKSTS_DATWKF_Msk (0x1ul << UART_WKSTS_DATWKF_Pos) /*!< UART_T::WKSTS: DATWKF Mask */ 01272 01273 #define UART_WKSTS_RFRTWKF_Pos (2) /*!< UART_T::WKSTS: RFRTWKF Position */ 01274 #define UART_WKSTS_RFRTWKF_Msk (0x1ul << UART_WKSTS_RFRTWKF_Pos) /*!< UART_T::WKSTS: RFRTWKF Mask */ 01275 01276 #define UART_WKSTS_RS485WKF_Pos (3) /*!< UART_T::WKSTS: RS485WKF Position */ 01277 #define UART_WKSTS_RS485WKF_Msk (0x1ul << UART_WKSTS_RS485WKF_Pos) /*!< UART_T::WKSTS: RS485WKF Mask */ 01278 01279 #define UART_WKSTS_TOUTWKF_Pos (4) /*!< UART_T::WKSTS: TOUTWKF Position */ 01280 #define UART_WKSTS_TOUTWKF_Msk (0x1ul << UART_WKSTS_TOUTWKF_Pos) /*!< UART_T::WKSTS: TOUTWKF Mask */ 01281 01282 #define UART_DWKCOMP_STCOMP_Pos (0) /*!< UART_T::DWKCOMP: STCOMP Position */ 01283 #define UART_DWKCOMP_STCOMP_Msk (0xfffful << UART_DWKCOMP_STCOMP_Pos) /*!< UART_T::DWKCOMP: STCOMP Mask */ 01284 01285 /**@}*/ /* UART_CONST */ 01286 /**@}*/ /* end of UART register group */ 01287 /**@}*/ /* end of REGISTER group */ 01288 01289 #if defined ( __CC_ARM ) 01290 #pragma no_anon_unions 01291 #endif 01292 01293 #endif /* __UART_REG_H__ */
Generated on Tue Jul 12 2022 15:37:20 by
1.7.2