| 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
Data Structures | Macros | Functions | Variables
LPC17xx/40xx I2S example
Peripheral examples

## Detailed Description

Example description
The I2S example shows how to configure I2S and UDA1380 to receive audio signal and play back with three modes: polling, interrupt, and DMA.

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 115K8N1.
Connect the computer line out to board line-in (using 3.5mm male-to-male cable), plug the headphone/speaker into board line-out. Change modes by selecting the option from the terminal. Play audio on computer and listen from target board!

Special connection requirements
There are no special connection requirements for this example.

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

Submitting LPCOpen issues:
Community support for LPCOpen

## Data Structures
struct | Ring_Buffer_t

## Macros
#define | BUFFER_FULL 0
#define | BUFFER_EMPTY 1
#define | BUFFER_AVAILABLE 2

## Functions
static void | mute_toggle ()
static uint8_t | ring_buff_get_status (Ring_Buffer_t *ring_buff)
static void | App_Interrupt_Test (void)
static void | App_Polling_Test (void)
static void | App_DMA_Test (void)
void | DMA_IRQHandler (void)
| DMA interrupt handler sub-routine.
void | I2S_IRQHandler (void)
| I2S interrupt handler sub-routine.
int | main (void)
| Main routine for I2S example.

## Variables
static char | WelcomeMenu []
static Ring_Buffer_t | ring_buffer
static uint8_t | send_flag
static uint8_t | channelTC
static uint8_t | dmaChannelNum_I2S_Tx
static uint8_t | dmaChannelNum_I2S_Rx
static uint8_t | dma_send_receive
uint8_t | mute_status = 0

## Macro Definition Documentation

#define BUFFER_AVAILABLE 2

Definition at line 71 of file i2s.c.

#define BUFFER_EMPTY 1

Definition at line 70 of file i2s.c.

#define BUFFER_FULL 0

Definition at line 69 of file i2s.c.

## Function Documentation

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

Definition at line 193 of file i2s.c.

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

Definition at line 129 of file i2s.c.

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

Definition at line 159 of file i2s.c.

void DMA_IRQHandler | ( | void |  | ) |

DMA interrupt handler sub-routine.

Returns
  Nothing

Definition at line 249 of file i2s.c.

void I2S_IRQHandler | ( | void |  | ) |

I2S interrupt handler sub-routine.

Returns
  Nothing

Definition at line 273 of file i2s.c.

int main | ( | void |  | ) |

Main routine for I2S example.

Main program body.

Returns
  Nothing

Definition at line 287 of file i2s.c.

static void mute_toggle | ( |  | ) |
| static

Definition at line 104 of file i2s.c.

static uint8_t ring_buff_get_status | ( | Ring_Buffer_t * | ring_buff | ) |
| static

Definition at line 117 of file i2s.c.

## Variable Documentation

uint8_t channelTC
| static

Definition at line 90 of file i2s.c.

uint8_t dma_send_receive
| static

Definition at line 92 of file i2s.c.

uint8_t dmaChannelNum_I2S_Rx
| static

Definition at line 91 of file i2s.c.

uint8_t dmaChannelNum_I2S_Tx
| static

Definition at line 91 of file i2s.c.

uint8_t mute_status = 0

Definition at line 102 of file i2s.c.

Ring_Buffer_t ring_buffer
| static

Definition at line 87 of file i2s.c.

uint8_t send_flag
| static

Definition at line 89 of file i2s.c.

char WelcomeMenu[]
| static

Initial value:
= "\n\rHello NXP Semiconductors \n\r"
"I2S DEMO : Connect audio headphone out from computer to line-in on tested board to get audio signal\n\r"
"Please press \'1\' to test Polling mode\n\r"
"Please press \'2\' to test Interrupt mode\n\r"
"Please press \'3\' to test DMA mode\n\r"
"Please press \'x\' to exit test mode\n\r"
"Please press \'m\' to DISABLE/ENABLE mute\n\r"

Definition at line 79 of file i2s.c.