LPCOpen Platform  v1.03
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
LPC17xx/40xx UART example

Detailed Description

Example description
The UART example shows how to use the UART in polling, interrupt, and DMA modes.

To use the example, connect a serial cable to the board's RS232/UART port and start a terminal program to monitor the port. The terminal program on the host PC should be setup for Baudrate-8-N-1 (Baudrate is optional). After a reset condition, press 'a' or 'A' to start Auto-baudrate mode. Once Auto baud rate mode completed, welcome menu is printed on terminal. Change modes by selecting the option from the terminal.

Special connection requirements

Build procedures:
LPC17xx/40xx example quickstart for Keil uVision4
LPC17xx/40xx example quickstart for IAR EWARM
LPC17xx/40xx example quickstart for Code Red Xpresso

Supported boards and board setup:
Embedded Artists' LPC1788 Developer's Kit
Embedded Artists' LPC4088 Developer's Kit
NXP Xpresso LPC1769 board

Submitting LPCOpen issues:
Community support for LPCOpen

Macros

#define LPC_UART   LPC_UART0
 
#define UARTx_IRQn   UART0_IRQn
 
#define UARTx_IRQHandler   UART0_IRQHandler
 
#define DMA_TIMEOUT   0xA000000
 

Functions

static void App_DMA_Init (void)
 
static void App_DMA_DeInit (void)
 
static void App_DMA_Test (void)
 
static void Print_Menu_Interrupt (LPC_USART_T *UARTx)
 
static void App_Interrupt_Init (void)
 
static void App_Interrupt_DeInit (void)
 
static void App_Interrupt_Test (void)
 
static void Print_Menu_Polling (void)
 
void DMA_IRQHandler (void)
 GPDMA interrupt handler sub-routine.
 
void UARTx_IRQHandler (void)
 UART interrupt handler sub-routine.
 
int main (void)
 Main UART program body.
 

Variables

static uint8_t uartABComplete [] = "UART Auto-Baurate synchronized! \n\r"
 
static uint8_t uartPolling_menu1 [] = "Hello NXP Semiconductors \n\r"
 
static uint8_t uartPolling_menu2 [] = "UART polling mode demo \n\r"
 
static uint8_t uartPolling_menu3 [] = "\n\rUART demo terminated!"
 
static uint8_t uartPolling_menu4 []
 
static uint8_t uartPolling_menu5 [] = "\n\rPolling mode is running now! Please press \'c\' and choose another mode \n\r"
 
static uint8_t uart_interrupt_menu []
 
static uint8_t uart_interrupt_menu1 [] = "UART interrupt menu 1 \n\r"
 
static uint8_t uart_interrupt_menu2 [] = "UART interrupt menu 2 \n\r"
 
static uint8_t uart_interrupt_menu3 [] = "UART interrupt menu 3 \n\r"
 
static uint8_t uart_interrupt_menu4 [] = "UART interrupt menu 4 \n\r"
 
static uint8_t dmaChannelNumTx
 
static uint8_t dmaChannelNumRx
 
static uint8_t uartDMA_menu []
 
static volatile uint32_t channelTC
 
static volatile uint32_t channelTCErr
 
static FunctionalState isDMATx = ENABLE
 

Macro Definition Documentation

#define DMA_TIMEOUT   0xA000000

Definition at line 135 of file uart.c.

#define LPC_UART   LPC_UART0

Definition at line 89 of file uart.c.

#define UARTx_IRQHandler   UART0_IRQHandler

Definition at line 91 of file uart.c.

#define UARTx_IRQn   UART0_IRQn

Definition at line 90 of file uart.c.

Function Documentation

static void App_DMA_DeInit ( void  )
static

Definition at line 166 of file uart.c.

static void App_DMA_Init ( void  )
static

Definition at line 155 of file uart.c.

static void App_DMA_Test ( void  )
static

Definition at line 174 of file uart.c.

static void App_Interrupt_DeInit ( void  )
static

Definition at line 249 of file uart.c.

static void App_Interrupt_Init ( void  )
static

Definition at line 229 of file uart.c.

static void App_Interrupt_Test ( void  )
static

Definition at line 260 of file uart.c.

void DMA_IRQHandler ( void  )

GPDMA interrupt handler sub-routine.

Returns
Nothing

Definition at line 309 of file uart.c.

int main ( void  )

Main UART program body.

Main program body.

Returns
Always returns -1

Definition at line 339 of file uart.c.

static void Print_Menu_Interrupt ( LPC_USART_T UARTx)
static

Definition at line 213 of file uart.c.

static void Print_Menu_Polling ( void  )
static

Definition at line 294 of file uart.c.

void UARTx_IRQHandler ( void  )

UART interrupt handler sub-routine.

Returns
Nothing

Definition at line 330 of file uart.c.

Variable Documentation

volatile uint32_t channelTC
static

Definition at line 142 of file uart.c.

volatile uint32_t channelTCErr
static

Definition at line 143 of file uart.c.

uint8_t dmaChannelNumRx
static

Definition at line 138 of file uart.c.

uint8_t dmaChannelNumTx
static

Definition at line 138 of file uart.c.

FunctionalState isDMATx = ENABLE
static

Definition at line 144 of file uart.c.

uint8_t uart_interrupt_menu[]
static
Initial value:
=
"UART Interrupt mode demo ! \n\rPress '1' to '4' to display 4 menus \n\rPress 'x'to exist uart interrupt mode \n\r"

Definition at line 127 of file uart.c.

uint8_t uart_interrupt_menu1[] = "UART interrupt menu 1 \n\r"
static

Definition at line 129 of file uart.c.

uint8_t uart_interrupt_menu2[] = "UART interrupt menu 2 \n\r"
static

Definition at line 130 of file uart.c.

uint8_t uart_interrupt_menu3[] = "UART interrupt menu 3 \n\r"
static

Definition at line 131 of file uart.c.

uint8_t uart_interrupt_menu4[] = "UART interrupt menu 4 \n\r"
static

Definition at line 132 of file uart.c.

uint8_t uartABComplete[] = "UART Auto-Baurate synchronized! \n\r"
static

Definition at line 114 of file uart.c.

uint8_t uartDMA_menu[]
static
Initial value:
= "Hello NXP Semiconductors (DMA mode)\n\r"
"UART DMA mode demo ! Please type 'hello NXP' to return\n\r"

Definition at line 139 of file uart.c.

uint8_t uartPolling_menu1[] = "Hello NXP Semiconductors \n\r"
static

Definition at line 117 of file uart.c.

uint8_t uartPolling_menu2[] = "UART polling mode demo \n\r"
static

Definition at line 118 of file uart.c.

uint8_t uartPolling_menu3[] = "\n\rUART demo terminated!"
static

Definition at line 119 of file uart.c.

uint8_t uartPolling_menu4[]
static
Initial value:
= "\n\rPress number 1-3 to choose UART running mode:\n\r"
"\t 1: Polling Mode \n\r"
"\t 2: Interrupt Mode \n\r"
"\t 3: DMA Mode \n\r"

Definition at line 120 of file uart.c.

uint8_t uartPolling_menu5[] = "\n\rPolling mode is running now! Please press \'c\' and choose another mode \n\r"
static

Definition at line 124 of file uart.c.