X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=app%2Ftriface%2Fhw%2Fhw_adc.h;fp=app%2Ftriface%2Fhw%2Fhw_adc.h;h=5beea2e2712501f41c3bcf49d2ce2b143e604081;hb=4ea1189f208eee652e9028c3fe4327293c70662b;hp=0000000000000000000000000000000000000000;hpb=cfd59c8655ed7268c9c48aa58560158d235bc0de;p=bertos.git diff --git a/app/triface/hw/hw_adc.h b/app/triface/hw/hw_adc.h new file mode 100644 index 00000000..5beea2e2 --- /dev/null +++ b/app/triface/hw/hw_adc.h @@ -0,0 +1,63 @@ +/** + * \file + * ght 2006 Develer S.r.l. (http://www.develer.com/) + * + * \brief Macro for HW_AIN_H + * + * + * \version $Id$ + * + * \author Andrea Grandi + */ + +#ifndef HW_ADC_H +#define HW_ADC_H + +#include + +#define START_CONVERTION (ADCSRA |= BV(ADSC)) +#define ENABLE_ADC (ADCSRA |= BV(ADEN)) +#define SET_AI_ADLAR (ADMUX &= ~BV(ADLAR)) + +/** Microseconds to wait before starting conversion after changing a channel */ +#define STABILIZING_AI_CHANNEL_TIME 125 + +/** Number of AIN channels */ +#define ADC_CHANNEL_NUM 4 + +void adc_set_active_ain(int ai); +void adc_init(void); +void adc_set_vref_avcc(void); +int adc_read_ai_channel(int channel); + +#endif // HW_ADC_H +