CC3200 Peripheral Driver Library User's Guide  1.2.0
adc.h
1 //*****************************************************************************
2 //
3 // adc.h
4 //
5 // Defines and Macros for the ADC.
6 //
7 // Copyright (C) 2014 Texas Instruments Incorporated - https://www.ti.com/
8 //
9 //
10 // Redistribution and use in source and binary forms, with or without
11 // modification, are permitted provided that the following conditions
12 // are met:
13 //
14 // Redistributions of source code must retain the above copyright
15 // notice, this list of conditions and the following disclaimer.
16 //
17 // Redistributions in binary form must reproduce the above copyright
18 // notice, this list of conditions and the following disclaimer in the
19 // documentation and/or other materials provided with the
20 // distribution.
21 //
22 // Neither the name of Texas Instruments Incorporated nor the names of
23 // its contributors may be used to endorse or promote products derived
24 // from this software without specific prior written permission.
25 //
26 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
27 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
28 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
29 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
30 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
31 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
32 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
33 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
34 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
35 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 //
38 //*****************************************************************************
39 
40 #ifndef __ADC_H__
41 #define __ADC_H__
42 
43 //*****************************************************************************
44 //
45 // If building with a C++ compiler, make all of the definitions in this header
46 // have a C binding.
47 //
48 //*****************************************************************************
49 #ifdef __cplusplus
50 extern "C"
51 {
52 #endif
53 
54 //*****************************************************************************
55 // Values that can be passed to APIs as ulChannel parameter
56 //*****************************************************************************
57 #define ADC_CH_0 0x00000000
58 #define ADC_CH_1 0x00000008
59 #define ADC_CH_2 0x00000010
60 #define ADC_CH_3 0x00000018
61 
62 
63 //*****************************************************************************
64 //
65 // Values that can be passed to ADCIntEnable(), ADCIntDisable()
66 // and ADCIntClear() as ulIntFlags, and returned from ADCIntStatus()
67 //
68 //*****************************************************************************
69 #define ADC_DMA_DONE 0x00000010
70 #define ADC_FIFO_OVERFLOW 0x00000008
71 #define ADC_FIFO_UNDERFLOW 0x00000004
72 #define ADC_FIFO_EMPTY 0x00000002
73 #define ADC_FIFO_FULL 0x00000001
74 
75 
76 //*****************************************************************************
77 //
78 // API Function prototypes
79 //
80 //*****************************************************************************
81 extern void ADCEnable(unsigned long ulBase);
82 extern void ADCDisable(unsigned long ulBase);
83 extern void ADCChannelEnable(unsigned long ulBase,unsigned long ulChannel);
84 extern void ADCChannelDisable(unsigned long ulBase,unsigned long ulChannel);
85 extern void ADCIntRegister(unsigned long ulBase, unsigned long ulChannel,
86  void (*pfnHandler)(void));
87 extern void ADCIntUnregister(unsigned long ulBase, unsigned long ulChannel);
88 extern void ADCIntEnable(unsigned long ulBase, unsigned long ulChannel,
89  unsigned long ulIntFlags);
90 extern void ADCIntDisable(unsigned long ulBase, unsigned long ulChannel,
91  unsigned long ulIntFlags);
92 extern unsigned long ADCIntStatus(unsigned long ulBase,unsigned long ulChannel);
93 extern void ADCIntClear(unsigned long ulBase, unsigned long ulChannel,
94  unsigned long ulIntFlags);
95 extern void ADCDMAEnable(unsigned long ulBase, unsigned long ulChannel);
96 extern void ADCDMADisable(unsigned long ulBase, unsigned long ulChannel);
97 extern void ADCTimerConfig(unsigned long ulBase, unsigned long ulValue);
98 extern void ADCTimerEnable(unsigned long ulBase);
99 extern void ADCTimerDisable(unsigned long ulBase);
100 extern void ADCTimerReset(unsigned long ulBase);
101 extern unsigned long ADCTimerValueGet(unsigned long ulBase);
102 extern unsigned char ADCFIFOLvlGet(unsigned long ulBase,
103  unsigned long ulChannel);
104 extern unsigned long ADCFIFORead(unsigned long ulBase,
105  unsigned long ulChannel);
106 
107 //*****************************************************************************
108 //
109 // Mark the end of the C bindings section for C++ compilers.
110 //
111 //*****************************************************************************
112 #ifdef __cplusplus
113 }
114 #endif
115 
116 #endif // __ADC_H__
117 
void ADCIntDisable(unsigned long ulBase, unsigned long ulChannel, unsigned long ulIntFlags)
Definition: adc.c:311
void ADCTimerDisable(unsigned long ulBase)
Definition: adc.c:593
void ADCDisable(unsigned long ulBase)
Definition: adc.c:85
void ADCDMADisable(unsigned long ulBase, unsigned long ulChannel)
Definition: adc.c:490
unsigned char ADCFIFOLvlGet(unsigned long ulBase, unsigned long ulChannel)
Definition: adc.c:636
void ADCTimerEnable(unsigned long ulBase)
Definition: adc.c:574
void ADCChannelEnable(unsigned long ulBase, unsigned long ulChannel)
Definition: adc.c:106
void ADCEnable(unsigned long ulBase)
Definition: adc.c:66
void ADCTimerConfig(unsigned long ulBase, unsigned long ulValue)
Definition: adc.c:524
void ADCChannelDisable(unsigned long ulBase, unsigned long ulChannel)
Definition: adc.c:129
void ADCIntEnable(unsigned long ulBase, unsigned long ulChannel, unsigned long ulIntFlags)
Definition: adc.c:261
void ADCIntRegister(unsigned long ulBase, unsigned long ulChannel, void(*pfnHandler)(void))
Definition: adc.c:164
void ADCIntUnregister(unsigned long ulBase, unsigned long ulChannel)
Definition: adc.c:209
void ADCIntClear(unsigned long ulBase, unsigned long ulChannel, unsigned long ulIntFlags)
Definition: adc.c:406
unsigned long ADCIntStatus(unsigned long ulBase, unsigned long ulChannel)
Definition: adc.c:356
unsigned long ADCTimerValueGet(unsigned long ulBase)
Definition: adc.c:612
void ADCTimerReset(unsigned long ulBase)
Definition: adc.c:555
void ADCDMAEnable(unsigned long ulBase, unsigned long ulChannel)
Definition: adc.c:454
unsigned long ADCFIFORead(unsigned long ulBase, unsigned long ulChannel)
Definition: adc.c:671