
UM10800
All information provided in this document is subject to legal disclaimers.
© NXP Semiconductors N.V. 2016. All rights reserved.
User manual
Rev. 1.2 — 5 October 2016
465 of 487
NXP Semiconductors
UM10800
Chapter 34: LPC82x Code examples
34.4.3 Transmit one byte of data
34.4.4 Receive one byte of data
34.4.5 Transmit and receive one byte of data
34.4.6 Loop back 10 bytes of data
34.4.7 Loop back 10 bytes of data using interrupts
Table 434. UART Code example
Transmit one byte of data.
LPC_USART->CFG = UART_CFG_DATALEN(8) | UART_CFG_ENABLE;
while(~LPC_USART->STAT & UART_STAT_TXRDY);
LPC_USART->TXDAT = 0xdd;
while(~LPC_USART->STAT & UART_STAT_TXIDLE);
Table 435. UART Code example
Receive one byte of data.
LPC_USART->CFG = UART_CFG_DATALEN(8) | UART_CFG_ENABLE;
while(~LPC_USART->STAT & UART_STAT_RXRDY);
data = LPC_USART->RXDAT;
if(data != 0xdd) abort();
Table 436. UART Code example
Transmit and receive one byte of data.
LPC_USART->CFG = UART_CFG_DATALEN(8) | UART_CFG_ENABLE;
while(~LPC_USART->STAT & UART_STAT_TXRDY);
LPC_USART->TXDAT = 0xdd;
while(~LPC_USART->STAT & UART_STAT_RXRDY);
data = LPC_USART->RXDAT;
if(data != 0xdd) abort();
Table 437. UART Code example
Loop back 10 bytes of data.
LPC_USART->CFG = UART_CFG_DATALEN(8) | UART_CFG_ENABLE;
for(i = 0; i < 10; i++) {
while(~LPC_USART->STAT & (UART_STAT_TXRDY | UART_STAT_RXRDY));
LPC_USART->TXDAT = LPC_USART->RXDAT;
}
while(~LPC_USART->STAT & UART_STAT_TXIDLE);
Table 438. UART Code example
Loop back 10 bytes of data using interrupts.
LPC_USART->CFG = UART_CFG_DATALEN(8) | UART_CFG_ENABLE;
LPC_USART->INTENSET = UART_STAT_TXRDY | UART_STAT_RXRDY;
while(tx_counter < 10);
LPC_USART->INTENCLR = UART_STAT_TXRDY | UART_STAT_RXRDY;
while(~LPC_USART->STAT & UART_STAT_TXIDLE);
NVIC_DisableIRQ(Usart_IRQn);