RTEMS: bsps/arm/atsam/include/libchip/include/adc.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Macros | Functions
adc.h File Reference
`#include <assert.h>`
`#include <stdint.h>`

Go to the source code of this file.

## Macros
#define | ADC_CLOCK_MAX 20000000
#define | ADC_STARTUP_NORMAL_MAX 40
#define | ADC_STARTUP_FAST_MAX 12
#define | ADC_CHANNEL_0 0
#define | ADC_CHANNEL_1 1
#define | ADC_CHANNEL_2 2
#define | ADC_CHANNEL_3 3
#define | ADC_CHANNEL_4 4
#define | ADC_CHANNEL_5 5
#define | ADC_CHANNEL_6 6
#define | ADC_CHANNEL_7 7
#define | ADC_CHANNEL_8 8
#define | ADC_CHANNEL_9 9
#define | ADC_CHANNEL_10 10
#define | ADC_CHANNEL_11 11
#define | ADC_CHANNEL_12 12
#define | ADC_CHANNEL_13 13
#define | ADC_CHANNEL_14 14
#define | ADC_CHANNEL_15 15
#define | ADC_GetModeReg(pAdc) ((pAdc)->ADC_MR)
#define | ADC_StartConversion(pAdc) ((pAdc)->ADC_CR = ADC_CR_START)
#define | ADC_SetCalibMode(pAdc) ((pAdc)->ADC_CR |= ADC_CR_AUTOCAL)
#define | ADC_EnableChannel(pAdc, dwChannel)
#define | ADC_DisableChannel(pAdc, dwChannel)
#define | ADC_EnableIt(pAdc, dwMode)
#define | ADC_DisableIt(pAdc, dwMode)
#define | ADC_SetChannelGain(pAdc, dwMode)
#define | ADC_SetChannelOffset(pAdc, dwMode)
#define | ADC_EnableDataReadyIt(pAdc) ((pAdc)->ADC_IER = ADC_IER_DRDY)
#define | ADC_GetStatus(pAdc) ((pAdc)->ADC_ISR)
#define | ADC_GetCompareMode(pAdc) (((pAdc)->ADC_EMR)& (ADC_EMR_CMPMODE_Msk))
#define | ADC_GetChannelStatus(pAdc) ((pAdc)->ADC_CHSR)
#define | ADC_GetInterruptMaskStatus(pAdc) ((pAdc)->ADC_IMR)
#define | ADC_GetLastConvertedData(pAdc) ((pAdc)->ADC_LCDR)

## Functions
void | ADC_Initialize (Adc *pAdc, uint32_t dwId)
uint32_t | ADC_SetClock (Adc *pAdc, uint32_t dwPres, uint32_t dwMck)
void | ADC_SetTiming (Adc *pAdc, uint32_t dwStartup, uint32_t dwTracking, uint32_t dwSettling)
void | ADC_SetTrigger (Adc *pAdc, uint32_t dwTrgSel)
void | ADC_SetTriggerMode (Adc *pAdc, uint32_t dwMode)
void | ADC_SetLowResolution (Adc *pAdc, uint32_t bEnDis)
void | ADC_SetSleepMode (Adc *pAdc, uint8_t bEnDis)
void | ADC_SetFastWakeup (Adc *pAdc, uint8_t bEnDis)
void | ADC_SetSequenceMode (Adc *pAdc, uint8_t bEnDis)
void | ADC_SetSequence (Adc *pAdc, uint32_t dwSEQ1, uint32_t dwSEQ2)
void | ADC_SetSequenceByList (Adc *pAdc, uint8_t ucChList[], uint8_t ucNumCh)
void | ADC_SetAnalogChange (Adc *pAdc, uint8_t bEnDis)
void | ADC_SetTagEnable (Adc *pAdc, uint8_t bEnDis)
void | ADC_SetCompareChannel (Adc *pAdc, uint32_t dwChannel)
void | ADC_SetCompareMode (Adc *pAdc, uint32_t dwMode)
void | ADC_SetComparisonWindow (Adc *pAdc, uint32_t dwHi_Lo)
uint8_t | ADC_CheckConfiguration (Adc *pAdc, uint32_t dwMcK)
uint32_t | ADC_GetConvertedData (Adc *pAdc, uint32_t dwChannel)
void | ADC_SetTsAverage (Adc *pADC, uint32_t dwAvg2Conv)
uint32_t | ADC_GetTsXPosition (Adc *pADC)
uint32_t | ADC_GetTsYPosition (Adc *pADC)
uint32_t | ADC_GetTsPressure (Adc *pADC)
void | ADC_SetTsDebounce (Adc *pADC, uint32_t dwTime)
void | ADC_SetTsPenDetect (Adc *pADC, uint8_t bEnDis)
void | ADC_SetStartupTime (Adc *pAdc, uint32_t dwUs)
void | ADC_SetTrackingTime (Adc *pAdc, uint32_t dwNs)
void | ADC_SetTriggerPeriod (Adc *pAdc, uint32_t dwPeriod)
void | ADC_SetTsMode (Adc *pADC, uint32_t dwMode)
void | ADC_TsCalibration (Adc *pAdc)

## Detailed Description

# Purpose

Interface for configuration the Analog-to-Digital Converter (ADC) peripheral.

# Usage

1. Configurate the pins for ADC.
2. Initialize the ADC with ADC_Initialize().
3. Set ADC clock and timing with ADC_SetClock() and ADC_SetTiming().
4. Select the active channel using ADC_EnableChannel().
5. Start the conversion with ADC_StartConversion().
6. Wait the end of the conversion by polling status with ADC_GetStatus().
7. Finally, get the converted data using ADC_GetConvertedData() or ADC_GetLastConvertedData().

## Macro Definition Documentation

## ◆ ADC_DisableChannel

#define ADC_DisableChannel | ( |  | pAdc,
|  |  | dwChannel
| ) |  |

Value:
{\
(pAdc)->ADC_CHDR = (1 << (dwChannel));\
}

## ◆ ADC_DisableIt

#define ADC_DisableIt | ( |  | pAdc,
|  |  | dwMode
| ) |  |

Value:
{\
(pAdc)->ADC_IDR = (dwMode);\
}

## ◆ ADC_EnableChannel

#define ADC_EnableChannel | ( |  | pAdc,
|  |  | dwChannel
| ) |  |

Value:
{\
(pAdc)->ADC_CHER = (1 << (dwChannel));\
}

## ◆ ADC_EnableIt

#define ADC_EnableIt | ( |  | pAdc,
|  |  | dwMode
| ) |  |

Value:
{\
(pAdc)->ADC_IER = (dwMode);\
}

## ◆ ADC_SetChannelGain

#define ADC_SetChannelGain | ( |  | pAdc,
|  |  | dwMode
| ) |  |

Value:
{\
(pAdc)->ADC_CGR = dwMode;\
}

## ◆ ADC_SetChannelOffset

#define ADC_SetChannelOffset | ( |  | pAdc,
|  |  | dwMode
| ) |  |

Value:
{\
(pAdc)->ADC_COR = dwMode;\
}