Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: UAVCAN UAVCAN_Subscriber
CHIP: LPC11xx A/D conversion driver
This ADC driver is for LPC11xx variants except for LPC1125. More...
Data Structures | |
| struct | LPC_ADC_T |
| 10 or 12-bit ADC register block structure More... | |
| struct | ADC_CLOCK_SETUP_T |
| Clock setup structure for ADC controller passed to the initialize function. More... | |
Typedefs | |
| typedef enum IP_ADC_STATUS | ADC_STATUS_T |
| ADC status register used for IP drivers. | |
| typedef enum CHIP_ADC_CHANNEL | ADC_CHANNEL_T |
| The channels on one ADC peripheral. | |
| typedef enum CHIP_ADC_RESOLUTION | ADC_RESOLUTION_T |
| The number of bits of accuracy of the result in the LS bits of ADDR. | |
| typedef enum CHIP_ADC_EDGE_CFG | ADC_EDGE_CFG_T |
| Edge configuration, which controls rising or falling edge on the selected signal for the start of a conversion. | |
| typedef enum CHIP_ADC_START_MODE | ADC_START_MODE_T |
| Start mode, which controls the start of an A/D conversion when the BURST bit is 0. | |
Enumerations | |
| enum | IP_ADC_STATUS { ADC_DR_DONE_STAT, ADC_DR_OVERRUN_STAT, ADC_DR_ADINT_STAT } |
ADC status register used for IP drivers. More... | |
| enum | CHIP_ADC_CHANNEL { 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_RESOLUTION { ADC_10BITS = 0, ADC_9BITS, ADC_8BITS, ADC_7BITS, ADC_6BITS, ADC_5BITS, ADC_4BITS, ADC_3BITS } |
The number of bits of accuracy of the result in the LS bits of ADDR. More... | |
| enum | CHIP_ADC_EDGE_CFG { 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 { , 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 | |
| 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_DeInit (LPC_ADC_T *pADC) |
| Shutdown ADC. | |
| Status | Chip_ADC_ReadValue (LPC_ADC_T *pADC, uint8_t channel, uint16_t *data) |
| Read the ADC value from a channel. | |
| Status | Chip_ADC_ReadByte (LPC_ADC_T *pADC, ADC_CHANNEL_T channel, uint8_t *data) |
| Read the ADC value and convert it to 8bits value. | |
| FlagStatus | Chip_ADC_ReadStatus (LPC_ADC_T *pADC, uint8_t channel, uint32_t StatusType) |
| Read the ADC channel status. | |
| void | Chip_ADC_Int_SetChannelCmd (LPC_ADC_T *pADC, uint8_t channel, FunctionalState NewState) |
| Enable/Disable interrupt for ADC channel. | |
| STATIC INLINE void | Chip_ADC_Int_SetGlobalCmd (LPC_ADC_T *pADC, FunctionalState NewState) |
| Enable/Disable global interrupt for ADC channel. | |
| void | Chip_ADC_SetStartMode (LPC_ADC_T *pADC, ADC_START_MODE_T mode, ADC_EDGE_CFG_T EdgeOption) |
| Select the mode starting the AD conversion. | |
| void | Chip_ADC_SetSampleRate (LPC_ADC_T *pADC, ADC_CLOCK_SETUP_T *ADCSetup, uint32_t rate) |
| Set the ADC Sample rate. | |
| void | Chip_ADC_SetResolution (LPC_ADC_T *pADC, ADC_CLOCK_SETUP_T *ADCSetup, ADC_RESOLUTION_T resolution) |
| Set the ADC accuracy bits. | |
| void | Chip_ADC_EnableChannel (LPC_ADC_T *pADC, ADC_CHANNEL_T channel, FunctionalState NewState) |
| Enable or disable the ADC channel on ADC peripheral. | |
| void | Chip_ADC_SetBurstCmd (LPC_ADC_T *pADC, FunctionalState NewState) |
| Enable burst mode. | |
Detailed Description
This ADC driver is for LPC11xx variants except for LPC1125.
Typedef Documentation
| typedef enum CHIP_ADC_CHANNEL ADC_CHANNEL_T |
The channels on one ADC peripheral.
| typedef enum CHIP_ADC_EDGE_CFG ADC_EDGE_CFG_T |
Edge configuration, which controls rising or falling edge on the selected signal for the start of a conversion.
| typedef enum CHIP_ADC_RESOLUTION ADC_RESOLUTION_T |
The number of bits of accuracy of the result in the LS bits of ADDR.
| typedef enum CHIP_ADC_START_MODE ADC_START_MODE_T |
Start mode, which controls the start of an A/D conversion when the BURST bit is 0.
| typedef enum IP_ADC_STATUS ADC_STATUS_T |
ADC status register used for IP drivers.
Enumeration Type Documentation
| enum CHIP_ADC_CHANNEL |
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.
Definition at line 94 of file adc_11xx.h.
| enum CHIP_ADC_EDGE_CFG |
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.
Definition at line 118 of file adc_11xx.h.
| enum CHIP_ADC_RESOLUTION |
The number of bits of accuracy of the result in the LS bits of ADDR.
- Enumerator:
ADC_10BITS ADC 10 bits.
ADC_9BITS ADC 9 bits.
ADC_8BITS ADC 8 bits.
ADC_7BITS ADC 7 bits.
ADC_6BITS ADC 6 bits.
ADC_5BITS ADC 5 bits.
ADC_4BITS ADC 4 bits.
ADC_3BITS ADC 3 bits.
Definition at line 106 of file adc_11xx.h.
| enum CHIP_ADC_START_MODE |
Start mode, which controls the start of an A/D conversion when the BURST bit is 0.
- Enumerator:
Definition at line 124 of file adc_11xx.h.
| enum IP_ADC_STATUS |
ADC status register used for IP drivers.
- Enumerator:
ADC_DR_DONE_STAT ADC data register staus
ADC_DR_OVERRUN_STAT ADC data overrun staus
ADC_DR_ADINT_STAT ADC interrupt status
Definition at line 87 of file adc_11xx.h.
Function Documentation
| void Chip_ADC_DeInit | ( | LPC_ADC_T * | pADC ) |
Shutdown ADC.
- Parameters:
-
pADC : The base of ADC peripheral on the chip
- Returns:
- Nothing
| void Chip_ADC_EnableChannel | ( | LPC_ADC_T * | pADC, |
| 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
| 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
- Note:
- Default setting for ADC is 400kHz - 10bits
| void Chip_ADC_Int_SetChannelCmd | ( | 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
| STATIC INLINE void Chip_ADC_Int_SetGlobalCmd | ( | 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 199 of file adc_11xx.h.
| Status Chip_ADC_ReadByte | ( | LPC_ADC_T * | pADC, |
| 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
| FlagStatus Chip_ADC_ReadStatus | ( | 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
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
| void Chip_ADC_SetBurstCmd | ( | 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
| void Chip_ADC_SetResolution | ( | LPC_ADC_T * | pADC, |
| ADC_CLOCK_SETUP_T * | ADCSetup, | ||
| ADC_RESOLUTION_T | resolution | ||
| ) |
Set the ADC accuracy bits.
- Parameters:
-
pADC : The base of ADC peripheral on the chip ADCSetup : ADC setup structure to be modified resolution : The resolution, should be ADC_10BITS -> ADC_3BITS
- Returns:
- Nothing
| void Chip_ADC_SetSampleRate | ( | 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
| void Chip_ADC_SetStartMode | ( | LPC_ADC_T * | pADC, |
| ADC_START_MODE_T | mode, | ||
| 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
Generated on Tue Jul 12 2022 17:17:35 by
1.7.2