49 #include "../inc/hw_adc.h" 50 #include "../inc/hw_fcfg.h" 51 #include "../inc/hw_memmap.h" 52 #include "../inc/hw_sys0.h" 53 #include "../inc/hw_types.h" 72 #define ADC_CLOCK_DIVIDER_1 ADC_CTL0_SCLKDIV_DIV_BY_1 75 #define ADC_CLOCK_DIVIDER_2 ADC_CTL0_SCLKDIV_DIV_BY_2 78 #define ADC_CLOCK_DIVIDER_4 ADC_CTL0_SCLKDIV_DIV_BY_4 81 #define ADC_CLOCK_DIVIDER_8 ADC_CTL0_SCLKDIV_DIV_BY_8 84 #define ADC_CLOCK_DIVIDER_16 ADC_CTL0_SCLKDIV_DIV_BY_16 87 #define ADC_CLOCK_DIVIDER_24 ADC_CTL0_SCLKDIV_DIV_BY_24 90 #define ADC_CLOCK_DIVIDER_32 ADC_CTL0_SCLKDIV_DIV_BY_32 93 #define ADC_CLOCK_DIVIDER_48 ADC_CTL0_SCLKDIV_DIV_BY_48 96 #define ADC_RESOLUTION_12_BIT ADC_CTL2_RES_BIT_12 99 #define ADC_RESOLUTION_10_BIT ADC_CTL2_RES_BIT_10 102 #define ADC_RESOLUTION_8_BIT ADC_CTL2_RES_BIT_8 105 #define ADC_FIXED_REFERENCE_1V4 0 108 #define ADC_FIXED_REFERENCE_2V5 1 111 #define ADC_EXTERNAL_REFERENCE 2 114 #define ADC_VDDS_REFERENCE 3 118 #define ADC_SEQUENCE_REPEATSEQUENCE ADC_CTL1_CONSEQ_REPEATSEQUENCE 121 #define ADC_SEQUENCE_REPEATSINGLE ADC_CTL1_CONSEQ_REPEATSINGLE 125 #define ADC_SEQUENCE_SEQUENCE ADC_CTL1_CONSEQ_SEQUENCE 129 #define ADC_SEQUENCE_SINGLE ADC_CTL1_CONSEQ_SINGLE 132 #define ADC_INT_MEMRES_23 ADC_IMASK0_MEMRESIFG23 135 #define ADC_INT_MEMRES_22 ADC_IMASK0_MEMRESIFG22 138 #define ADC_INT_MEMRES_21 ADC_IMASK0_MEMRESIFG21 141 #define ADC_INT_MEMRES_20 ADC_IMASK0_MEMRESIFG20 144 #define ADC_INT_MEMRES_19 ADC_IMASK0_MEMRESIFG19 147 #define ADC_INT_MEMRES_18 ADC_IMASK0_MEMRESIFG18 150 #define ADC_INT_MEMRES_17 ADC_IMASK0_MEMRESIFG17 153 #define ADC_INT_MEMRES_16 ADC_IMASK0_MEMRESIFG16 156 #define ADC_INT_MEMRES_15 ADC_IMASK0_MEMRESIFG15 159 #define ADC_INT_MEMRES_14 ADC_IMASK0_MEMRESIFG14 162 #define ADC_INT_MEMRES_13 ADC_IMASK0_MEMRESIFG13 165 #define ADC_INT_MEMRES_12 ADC_IMASK0_MEMRESIFG12 168 #define ADC_INT_MEMRES_11 ADC_IMASK0_MEMRESIFG11 171 #define ADC_INT_MEMRES_10 ADC_IMASK0_MEMRESIFG10 174 #define ADC_INT_MEMRES_09 ADC_IMASK0_MEMRESIFG9 177 #define ADC_INT_MEMRES_08 ADC_IMASK0_MEMRESIFG8 180 #define ADC_INT_MEMRES_07 ADC_IMASK0_MEMRESIFG7 183 #define ADC_INT_MEMRES_06 ADC_IMASK0_MEMRESIFG6 186 #define ADC_INT_MEMRES_05 ADC_IMASK0_MEMRESIFG5 189 #define ADC_INT_MEMRES_04 ADC_IMASK0_MEMRESIFG4 192 #define ADC_INT_MEMRES_03 ADC_IMASK0_MEMRESIFG3 195 #define ADC_INT_MEMRES_02 ADC_IMASK0_MEMRESIFG2 198 #define ADC_INT_MEMRES_01 ADC_IMASK0_MEMRESIFG1 201 #define ADC_INT_MEMRES_00 ADC_IMASK0_MEMRESIFG0 204 #define ADC_INT_ASCDONE ADC_IMASK0_ASCDONE 207 #define ADC_INT_UVIFG ADC_IMASK0_UVIFG 210 #define ADC_INT_DMADONE ADC_IMASK0_DMADONE 213 #define ADC_INT_INIFG ADC_IMASK0_INIFG 216 #define ADC_INT_LOWIFG ADC_IMASK0_LOWIFG 219 #define ADC_INT_HIGHIFG ADC_IMASK0_HIGHIFG 222 #define ADC_INT_TOVIFG ADC_IMASK0_TOVIFG 225 #define ADC_INT_OVIFG ADC_IMASK0_OVIFG 310 extern void ADCSetInput(uint32_t reference, uint8_t channel, uint32_t index);
444 extern uint32_t
ADCValueToMicrovolts(uint32_t adcCode, uint32_t bitResolution, uint32_t referenceVoltageMicroVolt);
void ADCSetAdjustmentOffset(uint32_t reference)
Write correct offset value to ADC-peripheral trim register.
Definition: adc.c:345
__STATIC_INLINE uint32_t ADCReadResultNonBlocking(uint32_t index)
Read conversion result from ADC.
Definition: adc.h:424
void ADCSetSequence(uint32_t sequence)
Set conversion sequence.
Definition: adc.c:196
uint16_t ADCGetAdjustmentGain(uint32_t reference)
Returns ADC gain value for given reference.
Definition: adc.c:293
__STATIC_INLINE uint32_t ADCReadResult(uint32_t index)
Read conversion result from ADC.
Definition: adc.h:376
#define HWREG(x)
Definition: hw_types.h:79
#define __STATIC_INLINE
Definition: hw_types.h:58
#define ADC_O_MIS0
Definition: hw_adc.h:49
#define ADC_O_RIS0
Definition: hw_adc.h:46
__STATIC_INLINE uint32_t ADCRawInterruptStatus(void)
Gets the current raw interrupt status.
Definition: adc.h:518
#define ADC_O_MEMRES0
Definition: hw_adc.h:133
uint32_t ADCValueToMicrovolts(uint32_t adcCode, uint32_t bitResolution, uint32_t referenceVoltageMicroVolt)
Convert ADC code to microvolts.
Definition: adc.c:254
#define ADC_O_STA
Definition: hw_adc.h:145
#define ADC_O_ICLR0
Definition: hw_adc.h:55
void ADCSetInput(uint32_t reference, uint8_t channel, uint32_t index)
Sets the ADC reference source and input channel.
Definition: adc.c:90
uint32_t ADCAdjustValueForGain(uint32_t adcValue, uint32_t bitResolution, uint16_t gain)
Performs ADC value gain adjustment.
Definition: adc.c:218
__STATIC_INLINE void ADCClearInterrupt(uint32_t intFlags)
Clears ADC interrupt sources.
Definition: adc.h:584
__STATIC_INLINE bool ADCIsBusy(void)
Check if ADC is busy.
Definition: adc.h:399
__STATIC_INLINE void ADCDisableInterrupt(uint32_t intFlags)
Disables individual ADC interrupt sources.
Definition: adc.h:494
void ADCManualTrigger(void)
Triggers an ADC conversion.
Definition: adc.c:145
void ADCSetSampleDuration(uint32_t clkDiv, uint16_t clkCycles)
Sets the clock-divider value, and sample duration.
Definition: adc.c:43
__STATIC_INLINE void ADCEnableInterrupt(uint32_t intFlags)
Enables individual ADC interrupt sources.
Definition: adc.h:467
#define ADC_O_IMASK0
Definition: hw_adc.h:43
#define ADC_STA_BUSY_ACTIVE
Definition: hw_adc.h:2470
__STATIC_INLINE uint32_t ADCMaskedInterruptStatus(void)
Gets the current masked interrupt status.
Definition: adc.h:541
void ADCSetResolution(uint32_t resolution)
Sets the ADC bit resolution.
Definition: adc.c:68
void ADCSetMemctlRange(uint32_t start, uint32_t stop)
Set start and stop control registers.
Definition: adc.c:173
#define ADC_BASE
Definition: hw_memmap.h:66