| 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
Functions | Variables
LPC18xx/43xx ADC example
Peripheral examples

## Detailed Description

Example description
This example describes how to use ADC conversion POLLING mode, INTERRUPT mode or DMA mode.

The ADC conversion rate is 400KHz. A full conversion requires 11 of these clocks. So ADC clock = 400KHz * (number of clocks for 1 measure = 11 clocks). Note that maximum ADC clock input is 4.5MHz.

The ADC value can be read in POLLING mode, INTERRUPT mode or DMA mode. Converted ADC values displayed periodically via the UART when Timer 1 ticks. Turn potentiometer to change ADC signal input.

Setting up the demo requires connecting a UART cable between the board and a host PC. The terminal program on the host PC should be setup for 115K8N1. Press the appropriate key via the menu to change the ADC conversion mode.

Special connection requirements

- Hitex LPC1850EVA-A4-2 and LPC4350EVA-A4-2 boards (uses ADC0, Channel 0)
- Keil MCB1857 and MCB4357 boards (uses ADC0, Channel 0)

Build procedures:
LPC18xx/43xx example quickstart for Keil uVision4
LPC18xx/43xx example quickstart for IAR EWARM
LPC18xx/43xx example quickstart for Code Red Xpresso

Supported boards and board setup:
Hitex 1850 evaluation boards
Hitex 4350 evaluation boards
Keil 1857 evaluation boards
Keil 4357 evaluation boards

Submitting LPCOpen issues:
Community support for LPCOpen

## Functions
static void | App_print_ADC_value (uint16_t data)
static void | App_DMA_Test (void)
static void | App_Interrupt_Test (void)
static void | App_Polling_Test (void)
void | ADC0_IRQHandler (void)
| ADC0 interrupt handler sub-routine.
void | ADC1_IRQHandler (void)
| ADC1 interrupt handler sub-routine.
void | DMA_IRQHandler (void)
| DMA interrupt handler sub-routine.
int | main (void)
| Main routine for ADC example.

## Variables
static char | WelcomeMenu []
static char | SelectMenu []
static ADC_Clock_Setup_T | ADCSetup
static volatile uint8_t | Burst_Mode_Flag = 0
static volatile uint8_t | Interrupt_Continue_Flag
static volatile uint8_t | ADC_Interrupt_Done_Flag
static volatile uint8_t | channelTC
static volatile uint8_t | dmaChannelNum
uint32_t | DMAbuffer

## Function Documentation

void ADC0_IRQHandler | ( | void |  | ) |

ADC0 interrupt handler sub-routine.

Returns
  Nothing

Definition at line 243 of file adc.c.

void ADC1_IRQHandler | ( | void |  | ) |

ADC1 interrupt handler sub-routine.

Returns
  Nothing

Definition at line 263 of file adc.c.

static void App_DMA_Test | ( | void |  | ) |
| static

Definition at line 127 of file adc.c.

static void App_Interrupt_Test | ( | void |  | ) |
| static

Definition at line 176 of file adc.c.

static void App_Polling_Test | ( | void |  | ) |
| static

Definition at line 203 of file adc.c.

static void App_print_ADC_value | ( | uint16_t | data | ) |
| static

Definition at line 117 of file adc.c.

void DMA_IRQHandler | ( | void |  | ) |

DMA interrupt handler sub-routine.

Returns
  Nothing

Definition at line 283 of file adc.c.

int main | ( | void |  | ) |

Main routine for ADC example.

Main program body.

Returns
  Nothing

Definition at line 297 of file adc.c.

## Variable Documentation

volatile uint8_t ADC_Interrupt_Done_Flag
| static

Definition at line 106 of file adc.c.

ADC_Clock_Setup_T ADCSetup
| static

Definition at line 104 of file adc.c.

volatile uint8_t Burst_Mode_Flag = 0
| static

Definition at line 105 of file adc.c.

volatile uint8_t channelTC
| static

Definition at line 106 of file adc.c.

uint32_t DMAbuffer

Definition at line 107 of file adc.c.

volatile uint8_t dmaChannelNum
| static

Definition at line 106 of file adc.c.

volatile uint8_t Interrupt_Continue_Flag
| static

Definition at line 105 of file adc.c.

char SelectMenu[]
| static

Initial value:
= "\r\nPress number 1-3 to choose ADC running mode:\r\n"
"\t1: Polling Mode \r\n"
"\t2: Interrupt Mode \r\n"
"\t3: DMA Mode \r\n"

Definition at line 99 of file adc.c.

char WelcomeMenu[]
| static

Initial value:
= "\r\nHello NXP Semiconductors \r\n"
"ADC DEMO \r\n"
"Sample rate : 400kHz \r\n"
"Bit accuracy : 10 bits \r\n"
"Press \'c\' to continue or \'x\' to quit\r\n"
"Press \'o\' or \'p\' to set Sample rate\r\n"
"Press \'k\' or \'l\' to set Bit accuracy "
"(valid only when Burst mode is enabled)\r\n"
"Press \'b\' to ENABLE or DISABLE Burst Mode\r\n"

Definition at line 90 of file adc.c.