LPCOpen Platform  v1.03
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
CHIP: LPC17xx/40xx ADC conversion driver

Detailed Description

Data Structures

struct  ADC_Clock_Setup_T
 Clock setup structure for ADC controller passed to the initialize function. More...
 

Macros

#define ADC_MAX_SAMPLE_RATE   400000
 

Enumerations

enum  CHIP_ADC_CHANNEL_T {
  ADC_CH0 = 0, ADC_CH1, ADC_CH2, ADC_CH3,
  ADC_CH4, ADC_CH5, ADC_CH6, ADC_CH7,
  ADC_CH0 = 0, ADC_CH1, ADC_CH2, ADC_CH3,
  ADC_CH4, ADC_CH5, ADC_CH6, ADC_CH7,
  ADC_CH0 = 0, ADC_CH1, ADC_CH2, ADC_CH3,
  ADC_CH4, ADC_CH5, ADC_CH6, ADC_CH7,
  ADC_CH0 = 0, ADC_CH1, ADC_CH2, ADC_CH3,
  ADC_CH4, ADC_CH5, ADC_CH6, ADC_CH7
}
 The channels on one ADC peripheral. More...
 
enum  CHIP_ADC_EDGE_CFG_T {
  ADC_TRIGGERMODE_RISING = 0, ADC_TRIGGERMODE_FALLING, ADC_TRIGGERMODE_RISING = 0, ADC_TRIGGERMODE_FALLING,
  ADC_TRIGGERMODE_RISING = 0, ADC_TRIGGERMODE_FALLING, ADC_TRIGGERMODE_RISING = 0, ADC_TRIGGERMODE_FALLING
}
 Edge configuration, which controls rising or falling edge on the selected signal for the start of a conversion. More...
 
enum  CHIP_ADC_START_MODE_T {
  ADC_NO_START = 0, ADC_START_NOW, ADC_START_ON_CTOUT15, ADC_START_ON_CTOUT8,
  ADC_START_ON_ADCTRIG0, ADC_START_ON_ADCTRIG1, ADC_START_ON_MCOA2, ADC_NO_START = 0,
  ADC_START_NOW, ADC_START_ON_CTOUT15, ADC_START_ON_CTOUT8, ADC_START_ON_ADCTRIG0,
  ADC_START_ON_ADCTRIG1, ADC_START_ON_MCOA2, ADC_NO_START = 0, ADC_START_NOW,
  ADC_START_ON_CTOUT15, ADC_START_ON_CTOUT8, ADC_START_ON_ADCTRIG0, ADC_START_ON_ADCTRIG1,
  ADC_START_ON_MCOA2, ADC_NO_START = 0, ADC_START_NOW, ADC_START_ON_CTOUT15,
  ADC_START_ON_CTOUT8, ADC_START_ON_ADCTRIG0, ADC_START_ON_ADCTRIG1, ADC_START_ON_MCOA2
}
 Start mode, which controls the start of an A/D conversion when the BURST bit is 0. More...
 

Functions

STATIC INLINE Status Chip_ADC_Read_Value (LPC_ADC_T *pADC, uint8_t channel, uint16_t *data)
 Read the ADC value from a channel.
 
STATIC INLINE FlagStatus Chip_ADC_Read_Status (LPC_ADC_T *pADC, uint8_t channel, uint32_t StatusType)
 Read the ADC channel status.
 
STATIC INLINE void Chip_ADC_Channel_Int_Cmd (LPC_ADC_T *pADC, uint8_t channel, FunctionalState NewState)
 Enable/Disable interrupt for ADC channel.
 
STATIC INLINE void Chip_ADC_Global_Int_Cmd (LPC_ADC_T *pADC, FunctionalState NewState)
 Enable/Disable global interrupt for ADC channel.
 
void Chip_ADC_DeInit (LPC_ADC_T *pADC)
 Shutdown ADC.
 
void Chip_ADC_Init (LPC_ADC_T *pADC, ADC_Clock_Setup_T *ADCSetup)
 Initialize the ADC peripheral and the ADC setup structure to default value.
 
void Chip_ADC_Set_StartMode (LPC_ADC_T *pADC, CHIP_ADC_START_MODE_T mode, CHIP_ADC_EDGE_CFG_T EdgeOption)
 Select the mode starting the AD conversion.
 
void Chip_ADC_Set_SampleRate (LPC_ADC_T *pADC, ADC_Clock_Setup_T *ADCSetup, uint32_t rate)
 Set the ADC Sample rate.
 
void Chip_ADC_Channel_Enable_Cmd (LPC_ADC_T *pADC, CHIP_ADC_CHANNEL_T channel, FunctionalState NewState)
 Enable or disable the ADC channel on ADC peripheral.
 
void Chip_ADC_Burst_Cmd (LPC_ADC_T *pADC, FunctionalState NewState)
 Enable burst mode.
 
Status Chip_ADC_Read_Byte (LPC_ADC_T *pADC, CHIP_ADC_CHANNEL_T channel, uint8_t *data)
 Read the ADC value and convert it to 8bits value.
 

Macro Definition Documentation

#define ADC_MAX_SAMPLE_RATE   400000

Definition at line 46 of file adc_17xx_40xx.h.

Enumeration Type Documentation

The channels on one ADC peripheral.

Enumerator:
ADC_CH0 

ADC channel 0

ADC_CH1 

ADC channel 1

ADC_CH2 

ADC channel 2

ADC_CH3 

ADC channel 3

ADC_CH4 

ADC channel 4

ADC_CH5 

ADC channel 5

ADC_CH6 

ADC channel 6

ADC_CH7 

ADC channel 7

ADC_CH0 

ADC channel 0

ADC_CH1 

ADC channel 1

ADC_CH2 

ADC channel 2

ADC_CH3 

ADC channel 3

ADC_CH4 

ADC channel 4

ADC_CH5 

ADC channel 5

ADC_CH6 

ADC channel 6

ADC_CH7 

ADC channel 7

ADC_CH0 

ADC channel 0

ADC_CH1 

ADC channel 1

ADC_CH2 

ADC channel 2

ADC_CH3 

ADC channel 3

ADC_CH4 

ADC channel 4

ADC_CH5 

ADC channel 5

ADC_CH6 

ADC channel 6

ADC_CH7 

ADC channel 7

ADC_CH0 

ADC channel 0

ADC_CH1 

ADC channel 1

ADC_CH2 

ADC channel 2

ADC_CH3 

ADC channel 3

ADC_CH4 

ADC channel 4

ADC_CH5 

ADC channel 5

ADC_CH6 

ADC channel 6

ADC_CH7 

ADC channel 7

Definition at line 52 of file adc_17xx_40xx.h.

Edge configuration, which controls rising or falling edge on the selected signal for the start of a conversion.

Enumerator:
ADC_TRIGGERMODE_RISING 

Trigger event: rising edge

ADC_TRIGGERMODE_FALLING 

Trigger event: falling edge

ADC_TRIGGERMODE_RISING 

Trigger event: rising edge

ADC_TRIGGERMODE_FALLING 

Trigger event: falling edge

ADC_TRIGGERMODE_RISING 

Trigger event: rising edge

ADC_TRIGGERMODE_FALLING 

Trigger event: falling edge

ADC_TRIGGERMODE_RISING 

Trigger event: rising edge

ADC_TRIGGERMODE_FALLING 

Trigger event: falling edge

Definition at line 66 of file adc_17xx_40xx.h.

Start mode, which controls the start of an A/D conversion when the BURST bit is 0.

Enumerator:
ADC_NO_START 
ADC_START_NOW 

Start conversion now

ADC_START_ON_CTOUT15 

Start conversion when the edge selected by bit 27 occurs on CTOUT_15

ADC_START_ON_CTOUT8 

Start conversion when the edge selected by bit 27 occurs on CTOUT_8

ADC_START_ON_ADCTRIG0 

Start conversion when the edge selected by bit 27 occurs on ADCTRIG0

ADC_START_ON_ADCTRIG1 

Start conversion when the edge selected by bit 27 occurs on ADCTRIG1

ADC_START_ON_MCOA2 

Start conversion when the edge selected by bit 27 occurs on Motocon PWM output MCOA2

ADC_NO_START 
ADC_START_NOW 

Start conversion now

ADC_START_ON_CTOUT15 

Start conversion when the edge selected by bit 27 occurs on CTOUT_15

ADC_START_ON_CTOUT8 

Start conversion when the edge selected by bit 27 occurs on CTOUT_8

ADC_START_ON_ADCTRIG0 

Start conversion when the edge selected by bit 27 occurs on ADCTRIG0

ADC_START_ON_ADCTRIG1 

Start conversion when the edge selected by bit 27 occurs on ADCTRIG1

ADC_START_ON_MCOA2 

Start conversion when the edge selected by bit 27 occurs on Motocon PWM output MCOA2

ADC_NO_START 
ADC_START_NOW 

Start conversion now

ADC_START_ON_CTOUT15 

Start conversion when the edge selected by bit 27 occurs on CTOUT_15

ADC_START_ON_CTOUT8 

Start conversion when the edge selected by bit 27 occurs on CTOUT_8

ADC_START_ON_ADCTRIG0 

Start conversion when the edge selected by bit 27 occurs on ADCTRIG0

ADC_START_ON_ADCTRIG1 

Start conversion when the edge selected by bit 27 occurs on ADCTRIG1

ADC_START_ON_MCOA2 

Start conversion when the edge selected by bit 27 occurs on Motocon PWM output MCOA2

ADC_NO_START 
ADC_START_NOW 

Start conversion now

ADC_START_ON_CTOUT15 

Start conversion when the edge selected by bit 27 occurs on CTOUT_15

ADC_START_ON_CTOUT8 

Start conversion when the edge selected by bit 27 occurs on CTOUT_8

ADC_START_ON_ADCTRIG0 

Start conversion when the edge selected by bit 27 occurs on ADCTRIG0

ADC_START_ON_ADCTRIG1 

Start conversion when the edge selected by bit 27 occurs on ADCTRIG1

ADC_START_ON_MCOA2 

Start conversion when the edge selected by bit 27 occurs on Motocon PWM output MCOA2

Definition at line 74 of file adc_17xx_40xx.h.

Function Documentation

void Chip_ADC_Burst_Cmd ( LPC_ADC_T pADC,
FunctionalState  NewState 
)

Enable burst mode.

Parameters
pADC: The base of ADC peripheral on the chip
NewState: New state, should be:
  • ENABLE
  • DISABLE
Returns
Nothing

Definition at line 138 of file adc_11xx.c.

void Chip_ADC_Channel_Enable_Cmd ( LPC_ADC_T pADC,
CHIP_ADC_CHANNEL_T  channel,
FunctionalState  NewState 
)

Enable or disable the ADC channel on ADC peripheral.

Parameters
pADC: The base of ADC peripheral on the chip
channel: Channel to be enable or disable
NewState: New state, should be:
  • ENABLE
  • DISABLE
Returns
Nothing

Definition at line 132 of file adc_11xx.c.

STATIC INLINE void Chip_ADC_Channel_Int_Cmd ( LPC_ADC_T pADC,
uint8_t  channel,
FunctionalState  NewState 
)

Enable/Disable interrupt for ADC channel.

Parameters
pADC: The base of ADC peripheral on the chip
channel: ADC channel to read
NewState: New state, ENABLE or DISABLE
Returns
SET or RESET

Definition at line 124 of file adc_17xx_40xx.h.

void Chip_ADC_DeInit ( LPC_ADC_T pADC)

Shutdown ADC.

Parameters
pADC: The base of ADC peripheral on the chip
Returns
Nothing

Definition at line 77 of file adc_11xx.c.

STATIC INLINE void Chip_ADC_Global_Int_Cmd ( LPC_ADC_T pADC,
FunctionalState  NewState 
)

Enable/Disable global interrupt for ADC channel.

Parameters
pADC: The base of ADC peripheral on the chip
NewState: New state, ENABLE or DISABLE
Returns
Nothing

Definition at line 135 of file adc_17xx_40xx.h.

void Chip_ADC_Init ( LPC_ADC_T pADC,
ADC_Clock_Setup_T ADCSetup 
)

Initialize the ADC peripheral and the ADC setup structure to default value.

Parameters
pADC: The base of ADC peripheral on the chip
ADCSetup: ADC setup structure to be set
Returns
Nothing Default setting for ADC is 400kHz - 10bits
Parameters
pADC: The base of ADC peripheral on the chip
ADCSetup: ADC setup structure to be set
Returns
Nothing
Note
Default setting for ADC is 400kHz - 10bits

Definition at line 89 of file adc_11xx.c.

Status Chip_ADC_Read_Byte ( LPC_ADC_T pADC,
CHIP_ADC_CHANNEL_T  channel,
uint8_t *  data 
)

Read the ADC value and convert it to 8bits value.

Parameters
pADC: The base of ADC peripheral on the chip
channel,:selected channel
data: Storage for data
Returns
Status : ERROR or SUCCESS

Definition at line 145 of file adc_11xx.c.

STATIC INLINE FlagStatus Chip_ADC_Read_Status ( LPC_ADC_T pADC,
uint8_t  channel,
uint32_t  StatusType 
)

Read the ADC channel status.

Parameters
pADC: The base of ADC peripheral on the chip
channel: ADC channel to read
StatusType: Status type of ADC_DR_*
Returns
SET or RESET

Definition at line 112 of file adc_17xx_40xx.h.

STATIC INLINE Status Chip_ADC_Read_Value ( LPC_ADC_T pADC,
uint8_t  channel,
uint16_t *  data 
)

Read the ADC value from a channel.

Parameters
pADC: The base of ADC peripheral on the chip
channel: ADC channel to read
data: Pointer to where to put data
Returns
SUCCESS or ERROR if no conversion is ready

Definition at line 100 of file adc_17xx_40xx.h.

void Chip_ADC_Set_SampleRate ( LPC_ADC_T pADC,
ADC_Clock_Setup_T ADCSetup,
uint32_t  rate 
)

Set the ADC Sample rate.

Parameters
pADC: The base of ADC peripheral on the chip
ADCSetup: ADC setup structure to be modified
rate: Sample rate, should be set so the clock for A/D converter is less than or equal to 4.5MHz.
Returns
Nothing

Definition at line 115 of file adc_11xx.c.

void Chip_ADC_Set_StartMode ( LPC_ADC_T pADC,
CHIP_ADC_START_MODE_T  mode,
CHIP_ADC_EDGE_CFG_T  EdgeOption 
)

Select the mode starting the AD conversion.

Parameters
pADC: The base of ADC peripheral on the chip
mode: Stating mode, should be :
  • ADC_NO_START : Must be set for Burst mode
  • ADC_START_NOW : Start conversion now
  • ADC_START_ON_CTOUT15 : Start conversion when the edge selected by bit 27 occurs on CTOUT_15
  • ADC_START_ON_CTOUT8 : Start conversion when the edge selected by bit 27 occurs on CTOUT_8
  • ADC_START_ON_ADCTRIG0 : Start conversion when the edge selected by bit 27 occurs on ADCTRIG0
  • ADC_START_ON_ADCTRIG1 : Start conversion when the edge selected by bit 27 occurs on ADCTRIG1
  • ADC_START_ON_MCOA2 : Start conversion when the edge selected by bit 27 occurs on Motocon PWM output MCOA2
EdgeOption: Stating Edge Condition, should be :
  • ADC_TRIGGERMODE_RISING : Trigger event on rising edge
  • ADC_TRIGGERMODE_FALLING : Trigger event on falling edge
Returns
Nothing

Definition at line 106 of file adc_11xx.c.