CC27xxDriverLibrary
adc.h File Reference
#include <stdint.h>
#include "../inc/hw_types.h"
#include "../inc/hw_memmap.h"
#include "../inc/hw_adc.h"
#include "../inc/hw_sys0.h"
Include dependency graph for adc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ADC_CLOCK_DIVIDER_1   ADC_CTL0_SCLKDIV_DIV_BY_1
 Set ADC clock to system clock divided by 1. More...
 
#define ADC_CLOCK_DIVIDER_2   ADC_CTL0_SCLKDIV_DIV_BY_2
 Set ADC clock to system clock divided by 2. More...
 
#define ADC_CLOCK_DIVIDER_4   ADC_CTL0_SCLKDIV_DIV_BY_4
 Set ADC clock to system clock divided by 4. More...
 
#define ADC_CLOCK_DIVIDER_8   ADC_CTL0_SCLKDIV_DIV_BY_8
 Set ADC clock to system clock divided by 8. More...
 
#define ADC_CLOCK_DIVIDER_16   ADC_CTL0_SCLKDIV_DIV_BY_16
 Set ADC clock to system clock divided by 16. More...
 
#define ADC_CLOCK_DIVIDER_24   ADC_CTL0_SCLKDIV_DIV_BY_24
 Set ADC clock to system clock divided by 24. More...
 
#define ADC_CLOCK_DIVIDER_32   ADC_CTL0_SCLKDIV_DIV_BY_32
 Set ADC clock to system clock divided by 32. More...
 
#define ADC_CLOCK_DIVIDER_48   ADC_CTL0_SCLKDIV_DIV_BY_48
 Set ADC clock to system clock divided by 48. More...
 
#define ADC_RESOLUTION_12_BIT   ADC_CTL2_RES_BIT_12
 Set resolution of ADC conversion to 12 bit (unsigned) More...
 
#define ADC_RESOLUTION_10_BIT   ADC_CTL2_RES_BIT_10
 Set resolution of ADC conversion to 10 bit (unsigned) More...
 
#define ADC_RESOLUTION_8_BIT   ADC_CTL2_RES_BIT_8
 Set resolution of ADC conversion to 8 bit (unsigned) More...
 
#define ADC_FIXED_REFERENCE_1V4   0
 Set ADC reference to internal fixed 1.4V. More...
 
#define ADC_FIXED_REFERENCE_2V5   1
 Set ADC reference to internal fixed 2.5V. More...
 
#define ADC_EXTERNAL_REFERENCE   2
 Set ADC reference to external analog pin A1. More...
 
#define ADC_VDDS_REFERENCE   3
 Set ADC reference to VDDS. More...
 
#define ADC_POWER_DOWN_POLICY_AUTO   ADC_CTL0_PWRDN_AUTO
 ADC is powered down on completion of a conversion if there is no pending trigger. To be used with ADCSetPowerDownPolicy() More...
 
#define ADC_POWER_DOWN_POLICY_MANUAL   ADC_CTL0_PWRDN_MANUAL
 ADC remains powered on as long as the power mode it set to manual. To be used with ADCSetPowerDownPolicy() More...
 
#define ADC_SEQUENCE_REPEATSEQUENCE   ADC_CTL1_CONSEQ_REPEATSEQUENCE
 Set ADC conversion sequence to repeat control registers defined by start and stop address, as set by ADCSetMemctlRange. More...
 
#define ADC_SEQUENCE_REPEATSINGLE   ADC_CTL1_CONSEQ_REPEATSINGLE
 Set ADC conversion sequence to repeat control register defined by start as set by ADCSetMemctlRange. More...
 
#define ADC_SEQUENCE_SEQUENCE   ADC_CTL1_CONSEQ_SEQUENCE
 Set ADC conversion sequence to a single pass of control registers defined by start and stop address, as set by ADCSetMemctlRange. More...
 
#define ADC_SEQUENCE_SINGLE   ADC_CTL1_CONSEQ_SINGLE
 Set ADC conversion sequence to do a single conversion of control register defined by start, as set by ADCSetMemctlRange. More...
 
#define ADC_SAMPLE_MODE_AUTO   ADC_CTL1_SAMPMODE_AUTO
 Sample duration is controlled by values set using ADCSetSampleDuration() More...
 
#define ADC_SAMPLE_MODE_MANUAL   ADC_CTL1_SAMPMODE_MANUAL
 Sample phase is manually started using ADCStartConversion() and manually stopped using ADCStopConversion() More...
 
#define ADC_TRIGGER_SOURCE_EVENT   ADC_CTL1_TRIGSRC_EVENT
 The ADC trigger source is a hardware event. More...
 
#define ADC_TRIGGER_SOURCE_SOFTWARE   ADC_CTL1_TRIGSRC_SOFTWARE
 The ADC trigger source is software. More...
 
#define ADC_TRIGGER_POLICY_AUTO_NEXT   ADC_MEMCTL0_TRG_AUTO_NEXT
 The next conversion is automatically started after the completion of the previous conversion. More...
 
#define ADC_TRIGGER_POLICY_TRIGGER_NEXT   ADC_MEMCTL0_TRG_TRIGGER_NEXT
 The next conversion requires a trigger. More...
 
#define ADC_INT_MEMRES_23   ADC_IMASK0_MEMRESIFG23
 Result ready in memory result register 23. More...
 
#define ADC_INT_MEMRES_22   ADC_IMASK0_MEMRESIFG22
 Result ready in memory result register 22. More...
 
#define ADC_INT_MEMRES_21   ADC_IMASK0_MEMRESIFG21
 Result ready in memory result register 21. More...
 
#define ADC_INT_MEMRES_20   ADC_IMASK0_MEMRESIFG20
 Result ready in memory result register 20. More...
 
#define ADC_INT_MEMRES_19   ADC_IMASK0_MEMRESIFG19
 Result ready in memory result register 19. More...
 
#define ADC_INT_MEMRES_18   ADC_IMASK0_MEMRESIFG18
 Result ready in memory result register 18. More...
 
#define ADC_INT_MEMRES_17   ADC_IMASK0_MEMRESIFG17
 Result ready in memory result register 17. More...
 
#define ADC_INT_MEMRES_16   ADC_IMASK0_MEMRESIFG16
 Result ready in memory result register 16. More...
 
#define ADC_INT_MEMRES_15   ADC_IMASK0_MEMRESIFG15
 Result ready in memory result register 15. More...
 
#define ADC_INT_MEMRES_14   ADC_IMASK0_MEMRESIFG14
 Result ready in memory result register 14. More...
 
#define ADC_INT_MEMRES_13   ADC_IMASK0_MEMRESIFG13
 Result ready in memory result register 13. More...
 
#define ADC_INT_MEMRES_12   ADC_IMASK0_MEMRESIFG12
 Result ready in memory result register 12. More...
 
#define ADC_INT_MEMRES_11   ADC_IMASK0_MEMRESIFG11
 Result ready in memory result register 11. More...
 
#define ADC_INT_MEMRES_10   ADC_IMASK0_MEMRESIFG10
 Result ready in memory result register 10. More...
 
#define ADC_INT_MEMRES_09   ADC_IMASK0_MEMRESIFG9
 Result ready in memory result register 9. More...
 
#define ADC_INT_MEMRES_08   ADC_IMASK0_MEMRESIFG8
 Result ready in memory result register 8. More...
 
#define ADC_INT_MEMRES_07   ADC_IMASK0_MEMRESIFG7
 Result ready in memory result register 7. More...
 
#define ADC_INT_MEMRES_06   ADC_IMASK0_MEMRESIFG6
 Result ready in memory result register 6. More...
 
#define ADC_INT_MEMRES_05   ADC_IMASK0_MEMRESIFG5
 Result ready in memory result register 5. More...
 
#define ADC_INT_MEMRES_04   ADC_IMASK0_MEMRESIFG4
 Result ready in memory result register 4. More...
 
#define ADC_INT_MEMRES_03   ADC_IMASK0_MEMRESIFG3
 Result ready in memory result register 3. More...
 
#define ADC_INT_MEMRES_02   ADC_IMASK0_MEMRESIFG2
 Result ready in memory result register 2. More...
 
#define ADC_INT_MEMRES_01   ADC_IMASK0_MEMRESIFG1
 Result ready in memory result register 1. More...
 
#define ADC_INT_MEMRES_00   ADC_IMASK0_MEMRESIFG0
 Result ready in memory result register 0. More...
 
#define ADC_INT_ASCDONE   ADC_IMASK0_ASCDONE
 Ad-Hoc single conversion done. More...
 
#define ADC_INT_UVIFG   ADC_IMASK0_UVIFG
 Conversion underflow. More...
 
#define ADC_INT_DMADONE   ADC_IMASK0_DMADONE
 DMA transaction done. More...
 
#define ADC_INT_INIFG   ADC_IMASK0_INIFG
 ADC result is inside window comparator range. More...
 
#define ADC_INT_LOWIFG   ADC_IMASK0_LOWIFG
 ADC result is below window comparator range. More...
 
#define ADC_INT_HIGHIFG   ADC_IMASK0_HIGHIFG
 ADC result is above window comparator range. More...
 
#define ADC_INT_TOVIFG   ADC_IMASK0_TOVIFG
 Sequence conversion timeout overflow. More...
 
#define ADC_INT_OVIFG   ADC_IMASK0_OVIFG
 Conversion overflow. More...
 

Functions

void ADCSetSampleDuration (uint32_t clkDiv, uint16_t clkCycles)
 Sets the clock-divider value, and sample duration. More...
 
void ADCSetResolution (uint32_t resolution)
 Sets the ADC bit resolution. More...
 
void ADCSetInput (uint32_t reference, uint8_t channel, uint32_t index)
 Sets the ADC reference source and input channel. More...
 
void ADCSetMemctlRange (uint32_t start, uint32_t stop)
 Set start and stop control registers. More...
 
void ADCSetPowerDownPolicy (uint32_t powerDownPolicy)
 Set power down policy. More...
 
void ADCSetSequence (uint32_t sequence)
 Set conversion sequence. More...
 
void ADCSetSamplingMode (uint32_t samplingMode)
 Set ADC sampling mode. More...
 
void ADCSetTriggerSource (uint32_t triggerSource)
 Set ADC trigger source. More...
 
void ADCSetTriggerPolicy (uint32_t triggerPolicy, uint32_t index)
 Set ADC trigger policy. More...
 
__STATIC_INLINE void ADCStartConversion (void)
 Start conversion. More...
 
__STATIC_INLINE void ADCStopConversion (void)
 Stop sample phase of a conversion. More...
 
__STATIC_INLINE void ADCEnableConversion (void)
 Enable conversion. More...
 
__STATIC_INLINE void ADCDisableConversion (void)
 Disable conversion. More...
 
__STATIC_INLINE void ADCEnableDmaTrigger (void)
 Enable DMA trigger for data transfer. More...
 
__STATIC_INLINE void ADCDisableDmaTrigger (void)
 Disable DMA trigger for data transfer. More...
 
__STATIC_INLINE uint32_t ADCReadResult (uint32_t index)
 Read conversion result from ADC. More...
 
__STATIC_INLINE bool ADCIsBusy (void)
 Check if ADC is busy. More...
 
__STATIC_INLINE uint32_t ADCReadResultNonBlocking (uint32_t index)
 Read conversion result from ADC. More...
 
uint32_t ADCValueToMicrovolts (uint32_t adcCode, uint32_t bitResolution, uint32_t referenceVoltageMicroVolt)
 Convert ADC code to microvolts. More...
 
__STATIC_INLINE void ADCEnableInterrupt (uint32_t intFlags)
 Enables individual ADC interrupt sources. More...
 
__STATIC_INLINE void ADCDisableInterrupt (uint32_t intFlags)
 Disables individual ADC interrupt sources. More...
 
__STATIC_INLINE uint32_t ADCRawInterruptStatus (void)
 Gets the current raw interrupt status. More...
 
__STATIC_INLINE uint32_t ADCMaskedInterruptStatus (void)
 Gets the current masked interrupt status. More...
 
__STATIC_INLINE void ADCClearInterrupt (uint32_t intFlags)
 Clears ADC interrupt sources. More...
 
uint32_t ADCAdjustValueForGain (uint32_t adcValue, uint32_t bitResolution, uint16_t gain)
 Performs ADC value gain adjustment. More...
 
uint16_t ADCGetAdjustmentGain (uint32_t reference)
 Returns ADC gain value for given reference. More...
 
void ADCSetAdjustmentOffset (uint32_t reference)
 Write correct offset value to ADC-peripheral trim register. More...