rcc 1.0
RCC - RGB LED Color Cube Documentation
Loading...
Searching...
No Matches
adc.h
Go to the documentation of this file.
1
18
19#ifndef ADC_H_
20#define ADC_H_
21
22 #ifndef ADC_RESOLUTION
37 #define ADC_RESOLUTION ADC_RESSEL_10BIT_gc
38 #endif
39
40 #ifndef ADC_CAPACITANCE
54 #define ADC_CAPACITANCE 1
55 #endif
56
57 #ifndef ADC_REFERENCE
72 #define ADC_REFERENCE ADC_REFSEL_INTREF_gc
73 #endif
74
75 #if ADC_REFERENCE == ADC_REFSEL_INTREF_gc
76 #ifndef VREF_REFSEL
93 #define VREF_REFSEL VREF_ADC0REFSEL_1V5_gc
94 #endif
95 #endif
96
97 #ifndef ADC_PRESCALER
119 #define ADC_PRESCALER ADC_PRESC_DIV256_gc
120 #endif
121
122 #ifndef ADC_INIT_DELAY
142 #define ADC_INIT_DELAY ADC_INITDLY_DLY0_gc
143 #endif
144
145 #ifndef ADC_SAMPLE_DELAY_VARIATION
160 #define ADC_SAMPLE_DELAY_VARIATION ADC_ASDV_ASVOFF_gc
161 #endif
162
163 #ifndef ADC_SAMPLE_DELAY
173 #define ADC_SAMPLE_DELAY 8
174 #endif
175
176 #ifndef ADC_SAMPLE_LENGTH
186 #define ADC_SAMPLE_LENGTH 8
187 #endif
188
189 #ifndef ADC_ADIE
203 //#define ADC_ADIE
204 #endif
205
206 #include <avr/io.h>
207
225 {
226 ADC_Sample_None=ADC_SAMPNUM_ACC1_gc,
227 ADC_Sample_2=ADC_SAMPNUM_ACC2_gc,
228 ADC_Sample_4=ADC_SAMPNUM_ACC4_gc,
229 ADC_Sample_8=ADC_SAMPNUM_ACC8_gc,
230 ADC_Sample_16=ADC_SAMPNUM_ACC16_gc,
231 ADC_Sample_32=ADC_SAMPNUM_ACC32_gc,
232 ADC_Sample_64=ADC_SAMPNUM_ACC64_gc
233 };
234
240
254 {
255 ADC_CH0=ADC_MUXPOS_AIN0_gc,
256 ADC_CH1=ADC_MUXPOS_AIN1_gc,
257 ADC_CH2=ADC_MUXPOS_AIN2_gc,
258 ADC_CH3=ADC_MUXPOS_AIN3_gc,
259 ADC_CH4=ADC_MUXPOS_AIN4_gc,
260 ADC_CH5=ADC_MUXPOS_AIN5_gc,
261 ADC_CH6=ADC_MUXPOS_AIN6_gc,
262 ADC_CH7=ADC_MUXPOS_AIN7_gc,
263 ADC_CH8=ADC_MUXPOS_AIN8_gc,
264 ADC_CH9=ADC_MUXPOS_AIN9_gc,
265 ADC_CH10=ADC_MUXPOS_AIN10_gc,
266 ADC_CH11=ADC_MUXPOS_AIN11_gc,
267 ADC_INTREF=ADC_MUXPOS_INTREF_gc,
268 ADC_GND=ADC_MUXPOS_GND_gc
269 };
270
276
277 void adc_init(void);
278 void adc_channel(ADC_Channel channel);
280 void adc_disable(void);
281
282 #ifndef ADC_ADIE
283 unsigned int adc_read(void);
284 unsigned int adc_average(unsigned char samples);
285 #endif
286
287#endif /* ADC_H_ */
ADC_Channel_t
Selects the ADC input channel.
Definition adc.h:254
@ ADC_CH0
Definition adc.h:255
@ ADC_GND
Definition adc.h:268
@ ADC_CH3
Definition adc.h:258
@ ADC_CH5
Definition adc.h:260
@ ADC_CH8
Definition adc.h:263
@ ADC_CH10
Definition adc.h:265
@ ADC_CH1
Definition adc.h:256
@ ADC_CH9
Definition adc.h:264
@ ADC_INTREF
Definition adc.h:267
@ ADC_CH11
Definition adc.h:266
@ ADC_CH2
Definition adc.h:257
@ ADC_CH7
Definition adc.h:262
@ ADC_CH4
Definition adc.h:259
@ ADC_CH6
Definition adc.h:261
void adc_init(void)
Initialize the ADC peripheral with pre-configured settings.
Definition adc.c:34
void adc_disable(void)
Disable the ADC module.
Definition adc.c:59
void adc_channel(ADC_Channel channel)
Select the ADC input channel.
Definition adc.c:74
unsigned int adc_average(unsigned char samples)
Perform multiple ADC conversions and return the average result (calculated in software).
Definition adc.c:130
enum ADC_Channel_t ADC_Channel
Alias for enum ADC_Channel_t representing ADC input channel selections.
Definition adc.h:275
ADC_Accumulation_t
Defines the number of ADC samples to be accumulated and averaged.
Definition adc.h:225
@ ADC_Sample_8
Definition adc.h:229
@ ADC_Sample_16
Definition adc.h:230
@ ADC_Sample_32
Definition adc.h:231
@ ADC_Sample_64
Definition adc.h:232
@ ADC_Sample_2
Definition adc.h:227
@ ADC_Sample_4
Definition adc.h:228
@ ADC_Sample_None
Definition adc.h:226
unsigned int adc_read(void)
Perform a single ADC conversion and return the result (polling mode).
Definition adc.c:106
enum ADC_Accumulation_t ADC_Accumulation
Alias for enum ADC_Accumulation_t representing ADC sample accumulation modes.
Definition adc.h:239
void adc_accumulation(ADC_Accumulation samples)
Set the ADC sample accumulation mode.
Definition adc.c:89