RTEMS  5.1
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;\
}