| LPCOpen Platform v1.03 LPCOpen Platform for NXP LPC Microcontrollers

- Main Page
- Modules
- Data Structures
- Files
- Related Pages

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
LPC17xx/40xx UART example
Peripheral examples

## 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

- Embedded Artists' LPC1788 Developer's Kit:
- Embedded Artists' LPC4088 Developer's Kit:
  If using UART2: Connects UART pins to COM Port (J17)
  JP6-1-2: OFF:
  JP6-3-4: OFF:
  JP6-5-6: ON:
  JP12: 2-3
  JP13: 2-3
  Other jumpers: Default
- LPCXpresso LPC1769:
  Need to connect with base board for using RS232/UART port.

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.