38 #ifndef __DRIVERLIB_ADC_H__ 39 #define __DRIVERLIB_ADC_H__ 61 #define ADC_TRIGGER_PROCESSOR 0x00000000 // Processor event 62 #define ADC_TRIGGER_COMP0 0x00000001 // Analog comparator 0 event 63 #define ADC_TRIGGER_COMP1 0x00000002 // Analog comparator 1 event 64 #define ADC_TRIGGER_COMP2 0x00000003 // Analog comparator 2 event 65 #define ADC_TRIGGER_EXTERNAL 0x00000004 // External event 66 #define ADC_TRIGGER_TIMER 0x00000005 // Timer event 67 #define ADC_TRIGGER_PWM0 0x00000006 // PWM0 event 68 #define ADC_TRIGGER_PWM1 0x00000007 // PWM1 event 69 #define ADC_TRIGGER_PWM2 0x00000008 // PWM2 event 70 #define ADC_TRIGGER_PWM3 0x00000009 // PWM3 event 71 #define ADC_TRIGGER_NEVER 0x0000000E // Never Trigger 72 #define ADC_TRIGGER_ALWAYS 0x0000000F // Always event 80 #define ADC_CTL_TS 0x00000080 // Temperature sensor select 81 #define ADC_CTL_IE 0x00000040 // Interrupt enable 82 #define ADC_CTL_END 0x00000020 // Sequence end select 83 #define ADC_CTL_D 0x00000010 // Differential select 84 #define ADC_CTL_CH0 0x00000000 // Input channel 0 85 #define ADC_CTL_CH1 0x00000001 // Input channel 1 86 #define ADC_CTL_CH2 0x00000002 // Input channel 2 87 #define ADC_CTL_CH3 0x00000003 // Input channel 3 88 #define ADC_CTL_CH4 0x00000004 // Input channel 4 89 #define ADC_CTL_CH5 0x00000005 // Input channel 5 90 #define ADC_CTL_CH6 0x00000006 // Input channel 6 91 #define ADC_CTL_CH7 0x00000007 // Input channel 7 92 #define ADC_CTL_CH8 0x00000008 // Input channel 8 93 #define ADC_CTL_CH9 0x00000009 // Input channel 9 94 #define ADC_CTL_CH10 0x0000000A // Input channel 10 95 #define ADC_CTL_CH11 0x0000000B // Input channel 11 96 #define ADC_CTL_CH12 0x0000000C // Input channel 12 97 #define ADC_CTL_CH13 0x0000000D // Input channel 13 98 #define ADC_CTL_CH14 0x0000000E // Input channel 14 99 #define ADC_CTL_CH15 0x0000000F // Input channel 15 100 #define ADC_CTL_CH16 0x00000100 // Input channel 16 101 #define ADC_CTL_CH17 0x00000101 // Input channel 17 102 #define ADC_CTL_CH18 0x00000102 // Input channel 18 103 #define ADC_CTL_CH19 0x00000103 // Input channel 19 104 #define ADC_CTL_CH20 0x00000104 // Input channel 20 105 #define ADC_CTL_CH21 0x00000105 // Input channel 21 106 #define ADC_CTL_CH22 0x00000106 // Input channel 22 107 #define ADC_CTL_CH23 0x00000107 // Input channel 23 108 #define ADC_CTL_CMP0 0x00080000 // Select Comparator 0 109 #define ADC_CTL_CMP1 0x00090000 // Select Comparator 1 110 #define ADC_CTL_CMP2 0x000A0000 // Select Comparator 2 111 #define ADC_CTL_CMP3 0x000B0000 // Select Comparator 3 112 #define ADC_CTL_CMP4 0x000C0000 // Select Comparator 4 113 #define ADC_CTL_CMP5 0x000D0000 // Select Comparator 5 114 #define ADC_CTL_CMP6 0x000E0000 // Select Comparator 6 115 #define ADC_CTL_CMP7 0x000F0000 // Select Comparator 7 116 #define ADC_CTL_SHOLD_4 0x00000000 // Sample and hold 4 ADC clocks 117 #define ADC_CTL_SHOLD_8 0x00200000 // Sample and hold 8 ADC clocks 118 #define ADC_CTL_SHOLD_16 0x00400000 // Sample and hold 16 ADC clocks 119 #define ADC_CTL_SHOLD_32 0x00600000 // Sample and hold 32 ADC clocks 120 #define ADC_CTL_SHOLD_64 0x00800000 // Sample and hold 64 ADC clocks 121 #define ADC_CTL_SHOLD_128 0x00A00000 // Sample and hold 128 ADC clocks 122 #define ADC_CTL_SHOLD_256 0x00C00000 // Sample and hold 256 ADC clocks 130 #define ADC_COMP_TRIG_NONE 0x00000000 // Trigger Disabled 131 #define ADC_COMP_TRIG_LOW_ALWAYS \ 132 0x00001000 // Trigger Low Always 133 #define ADC_COMP_TRIG_LOW_ONCE 0x00001100 // Trigger Low Once 134 #define ADC_COMP_TRIG_LOW_HALWAYS \ 135 0x00001200 // Trigger Low Always (Hysteresis) 136 #define ADC_COMP_TRIG_LOW_HONCE 0x00001300 // Trigger Low Once (Hysteresis) 137 #define ADC_COMP_TRIG_MID_ALWAYS \ 138 0x00001400 // Trigger Mid Always 139 #define ADC_COMP_TRIG_MID_ONCE 0x00001500 // Trigger Mid Once 140 #define ADC_COMP_TRIG_HIGH_ALWAYS \ 141 0x00001C00 // Trigger High Always 142 #define ADC_COMP_TRIG_HIGH_ONCE 0x00001D00 // Trigger High Once 143 #define ADC_COMP_TRIG_HIGH_HALWAYS \ 144 0x00001E00 // Trigger High Always (Hysteresis) 145 #define ADC_COMP_TRIG_HIGH_HONCE \ 146 0x00001F00 // Trigger High Once (Hysteresis) 148 #define ADC_COMP_INT_NONE 0x00000000 // Interrupt Disabled 149 #define ADC_COMP_INT_LOW_ALWAYS \ 150 0x00000010 // Interrupt Low Always 151 #define ADC_COMP_INT_LOW_ONCE 0x00000011 // Interrupt Low Once 152 #define ADC_COMP_INT_LOW_HALWAYS \ 153 0x00000012 // Interrupt Low Always 155 #define ADC_COMP_INT_LOW_HONCE 0x00000013 // Interrupt Low Once (Hysteresis) 156 #define ADC_COMP_INT_MID_ALWAYS \ 157 0x00000014 // Interrupt Mid Always 158 #define ADC_COMP_INT_MID_ONCE 0x00000015 // Interrupt Mid Once 159 #define ADC_COMP_INT_HIGH_ALWAYS \ 160 0x0000001C // Interrupt High Always 161 #define ADC_COMP_INT_HIGH_ONCE 0x0000001D // Interrupt High Once 162 #define ADC_COMP_INT_HIGH_HALWAYS \ 163 0x0000001E // Interrupt High Always 165 #define ADC_COMP_INT_HIGH_HONCE \ 166 0x0000001F // Interrupt High Once (Hysteresis) 175 #define ADC_TRIGGER_WAIT 0x08000000 // Wait for the synchronous trigger 176 #define ADC_TRIGGER_SIGNAL 0x80000000 // Signal the synchronous trigger 184 #define ADC_PHASE_0 0x00000000 // 0 degrees 185 #define ADC_PHASE_22_5 0x00000001 // 22.5 degrees 186 #define ADC_PHASE_45 0x00000002 // 45 degrees 187 #define ADC_PHASE_67_5 0x00000003 // 67.5 degrees 188 #define ADC_PHASE_90 0x00000004 // 90 degrees 189 #define ADC_PHASE_112_5 0x00000005 // 112.5 degrees 190 #define ADC_PHASE_135 0x00000006 // 135 degrees 191 #define ADC_PHASE_157_5 0x00000007 // 157.5 degrees 192 #define ADC_PHASE_180 0x00000008 // 180 degrees 193 #define ADC_PHASE_202_5 0x00000009 // 202.5 degrees 194 #define ADC_PHASE_225 0x0000000A // 225 degrees 195 #define ADC_PHASE_247_5 0x0000000B // 247.5 degrees 196 #define ADC_PHASE_270 0x0000000C // 270 degrees 197 #define ADC_PHASE_292_5 0x0000000D // 292.5 degrees 198 #define ADC_PHASE_315 0x0000000E // 315 degrees 199 #define ADC_PHASE_337_5 0x0000000F // 337.5 degrees 206 #define ADC_REF_INT 0x00000000 // Internal reference 207 #define ADC_REF_EXT_3V 0x00000001 // External 3V reference 215 #define ADC_INT_SS0 0x00000001 216 #define ADC_INT_SS1 0x00000002 217 #define ADC_INT_SS2 0x00000004 218 #define ADC_INT_SS3 0x00000008 219 #define ADC_INT_DMA_SS0 0x00000100 220 #define ADC_INT_DMA_SS1 0x00000200 221 #define ADC_INT_DMA_SS2 0x00000400 222 #define ADC_INT_DMA_SS3 0x00000800 223 #define ADC_INT_DCON_SS0 0x00010000 224 #define ADC_INT_DCON_SS1 0x00020000 225 #define ADC_INT_DCON_SS2 0x00040000 226 #define ADC_INT_DCON_SS3 0x00080000 233 #define ADC_CLOCK_RATE_FULL 0x00000070 234 #define ADC_CLOCK_RATE_HALF 0x00000050 235 #define ADC_CLOCK_RATE_FOURTH 0x00000030 236 #define ADC_CLOCK_RATE_EIGHTH 0x00000010 237 #define ADC_CLOCK_SRC_PLL 0x00000000 238 #define ADC_CLOCK_SRC_ALTCLK 0x00000001 239 #define ADC_CLOCK_SRC_MOSC 0x00000002 246 extern void ADCIntRegister(uint32_t ui32Base, uint32_t ui32SequenceNum,
247 void (*pfnHandler)(
void));
249 extern void ADCIntDisable(uint32_t ui32Base, uint32_t ui32SequenceNum);
250 extern void ADCIntEnable(uint32_t ui32Base, uint32_t ui32SequenceNum);
251 extern uint32_t
ADCIntStatus(uint32_t ui32Base, uint32_t ui32SequenceNum,
253 extern void ADCIntClear(uint32_t ui32Base, uint32_t ui32SequenceNum);
257 uint32_t ui32Trigger, uint32_t ui32Priority);
259 uint32_t ui32SequenceNum,
260 uint32_t ui32Step, uint32_t ui32Config);
262 uint32_t ui32SequenceNum);
264 uint32_t ui32SequenceNum);
266 uint32_t ui32SequenceNum);
268 uint32_t ui32SequenceNum);
270 uint32_t *pui32Buffer);
273 uint32_t ui32SequenceNum,
274 uint32_t ui32Factor);
276 uint32_t ui32SequenceNum,
278 uint32_t ui32Config);
280 uint32_t ui32SequenceNum,
281 uint32_t *pui32Buffer,
284 uint32_t ui32Factor);
286 uint32_t ui32ClockDiv);
290 uint32_t ui32Config);
292 uint32_t ui32LowRef, uint32_t ui32HighRef);
294 bool bTrigger,
bool bInterrupt);
296 uint32_t ui32SequenceNum);
298 uint32_t ui32SequenceNum);
302 extern void ADCIntEnableEx(uint32_t ui32Base, uint32_t ui32IntFlags);
304 extern void ADCIntClearEx(uint32_t ui32Base, uint32_t ui32IntFlags);
307 extern bool ADCBusy(uint32_t ui32Base);
325 #endif // __DRIVERLIB_ADC_H__ void ADCReferenceSet(uint32_t ui32Base, uint32_t ui32Ref)
Definition: adc.c:1637
void ADCSequenceUnderflowClear(uint32_t ui32Base, uint32_t ui32SequenceNum)
Definition: adc.c:748
void ADCComparatorIntDisable(uint32_t ui32Base, uint32_t ui32SequenceNum)
Definition: adc.c:1338
void ADCIntRegister(uint32_t ui32Base, uint32_t ui32SequenceNum, void(*pfnHandler)(void))
Definition: adc.c:132
void ADCIntClearEx(uint32_t ui32Base, uint32_t ui32IntFlags)
Definition: adc.c:1610
uint32_t ADCClockConfigGet(uint32_t ui32Base, uint32_t *pui32ClockDiv)
Definition: adc.c:1961
uint32_t ADCReferenceGet(uint32_t ui32Base)
Definition: adc.c:1665
void ADCComparatorConfigure(uint32_t ui32Base, uint32_t ui32Comp, uint32_t ui32Config)
Definition: adc.c:1226
bool ADCBusy(uint32_t ui32Base)
Definition: adc.c:1830
void ADCSequenceDMADisable(uint32_t ui32Base, uint32_t ui32SequenceNum)
Definition: adc.c:1795
int32_t ADCSequenceUnderflow(uint32_t ui32Base, uint32_t ui32SequenceNum)
Definition: adc.c:719
void ADCSequenceDMAEnable(uint32_t ui32Base, uint32_t ui32SequenceNum)
Definition: adc.c:1768
uint32_t ADCIntStatus(uint32_t ui32Base, uint32_t ui32SequenceNum, bool bMasked)
Definition: adc.c:283
void ADCIntEnable(uint32_t ui32Base, uint32_t ui32SequenceNum)
Definition: adc.c:247
void ADCSequenceOverflowClear(uint32_t ui32Base, uint32_t ui32SequenceNum)
Definition: adc.c:690
uint32_t ADCIntStatusEx(uint32_t ui32Base, bool bMasked)
Definition: adc.c:1542
void ADCIntDisable(uint32_t ui32Base, uint32_t ui32SequenceNum)
Definition: adc.c:218
void ADCHardwareOversampleConfigure(uint32_t ui32Base, uint32_t ui32Factor)
Definition: adc.c:1128
void ADCSoftwareOversampleDataGet(uint32_t ui32Base, uint32_t ui32SequenceNum, uint32_t *pui32Buffer, uint32_t ui32Count)
Definition: adc.c:1040
void ADCSoftwareOversampleConfigure(uint32_t ui32Base, uint32_t ui32SequenceNum, uint32_t ui32Factor)
Definition: adc.c:880
int32_t ADCSequenceOverflow(uint32_t ui32Base, uint32_t ui32SequenceNum)
Definition: adc.c:661
void ADCComparatorReset(uint32_t ui32Base, uint32_t ui32Comp, bool bTrigger, bool bInterrupt)
Definition: adc.c:1297
void ADCSampleRateSet(uint32_t ui32Base, uint32_t ui32ADCClock, uint32_t ui32Rate)
int32_t ADCSequenceDataGet(uint32_t ui32Base, uint32_t ui32SequenceNum, uint32_t *pui32Buffer)
Definition: adc.c:781
uint32_t ADCSampleRateGet(uint32_t ui32Base)
void ADCComparatorIntClear(uint32_t ui32Base, uint32_t ui32Status)
Definition: adc.c:1418
void ADCSoftwareOversampleStepConfigure(uint32_t ui32Base, uint32_t ui32SequenceNum, uint32_t ui32Step, uint32_t ui32Config)
Definition: adc.c:938
void ADCIntDisableEx(uint32_t ui32Base, uint32_t ui32IntFlags)
Definition: adc.c:1465
void ADCIntClear(uint32_t ui32Base, uint32_t ui32SequenceNum)
Definition: adc.c:347
void ADCClockConfigSet(uint32_t ui32Base, uint32_t ui32Config, uint32_t ui32ClockDiv)
Definition: adc.c:1903
void ADCSequenceEnable(uint32_t ui32Base, uint32_t ui32SequenceNum)
Definition: adc.c:375
void ADCSequenceDisable(uint32_t ui32Base, uint32_t ui32SequenceNum)
Definition: adc.c:403
uint32_t ADCComparatorIntStatus(uint32_t ui32Base)
Definition: adc.c:1392
void ADCSequenceConfigure(uint32_t ui32Base, uint32_t ui32SequenceNum, uint32_t ui32Trigger, uint32_t ui32Priority)
Definition: adc.c:472
uint32_t ADCPhaseDelayGet(uint32_t ui32Base)
Definition: adc.c:1741
void ADCSequenceStepConfigure(uint32_t ui32Base, uint32_t ui32SequenceNum, uint32_t ui32Step, uint32_t ui32Config)
Definition: adc.c:564
void ADCPhaseDelaySet(uint32_t ui32Base, uint32_t ui32Phase)
Definition: adc.c:1703
void ADCProcessorTrigger(uint32_t ui32Base, uint32_t ui32SequenceNum)
Definition: adc.c:841
void ADCComparatorIntEnable(uint32_t ui32Base, uint32_t ui32SequenceNum)
Definition: adc.c:1365
void ADCComparatorRegionSet(uint32_t ui32Base, uint32_t ui32Comp, uint32_t ui32LowRef, uint32_t ui32HighRef)
Definition: adc.c:1262
void ADCIntEnableEx(uint32_t ui32Base, uint32_t ui32IntFlags)
Definition: adc.c:1512
void ADCIntUnregister(uint32_t ui32Base, uint32_t ui32SequenceNum)
Definition: adc.c:178