adc_drv.c

Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 //_____  I N C L U D E S ___________________________________________________
00015 
00016 #include "config.h"
00017 
00018 #ifdef USE_ADC 
00019 #include "adc_drv.h"
00020 
00021 //_____ M A C R O S ________________________________________________________
00022 
00023 
00024 //_____ P R I V A T E    D E C L A R A T I O N _____________________________
00025 
00026 
00027 //_____ D E F I N I T I O N ________________________________________________
00028 
00029 
00030 //_____ D E C L A R A T I O N ______________________________________________
00035 void init_adc(void)
00036 {
00037     Enable_adc();
00038 #   if (ADC_RIGHT_ADJUST_RESULT == 1)
00039        Right_adjust_adc_result();
00040 #   elif (ADC_RIGHT_ADJUST_RESULT == 0)
00041        Left_adjust_adc_result();
00042 #   else
00043 #      error (ADC_RIGHT_ADJUST_RESULT should be 0 or 1... See config.h file)
00044 #   endif
00045 
00046 #   if (ADC_HIGH_SPEED_MODE == 1)
00047        Enable_adc_high_speed_mode();
00048 #   elif (ADC_HIGH_SPEED_MODE == 0)
00049        Disable_adc_high_speed_mode();
00050 #   else
00051 #      error (ADC_HIGH_SPEED_MODE should be 0 or 1... See config.h file)
00052 #   endif
00053 
00054 #   if (ADC_INTERNAL_VREF == 2)
00055        Enable_vcc_vref();
00056 #   elif (ADC_INTERNAL_VREF == 1)
00057        Enable_internal_vref();
00058 #   elif (ADC_INTERNAL_VREF == 0)
00059        Enable_vcc_vref();
00060 #   else
00061 #      error (ADC_INTERNAL_VREF should be 0, 1 or 2... See config.h file)
00062 #   endif
00063 
00064 #   if (ADC_IT == 1)
00065        Enable_all_it();
00066        Enable_adc_it();
00067 #   elif (ADC_IT == 0)
00068        Disable_adc_it();
00069 #   else
00070 #      error (ADC_IT should be 0 or 1... See config.h file)
00071 #   endif
00072 
00073 #   if (ADC_PRESCALER == 128)
00074        Set_prescaler(128);
00075 #   elif (ADC_PRESCALER == 64)
00076        Set_prescaler(64);
00077 #   elif (ADC_PRESCALER == 32)
00078        Set_prescaler(32);
00079 #   elif (ADC_PRESCALER == 16)
00080        Set_prescaler(16);
00081 #   elif (ADC_PRESCALER ==  8)
00082        Set_prescaler( 8);
00083 #   elif (ADC_PRESCALER ==  4)
00084        Set_prescaler( 4);
00085 #   elif (ADC_PRESCALER ==  2)
00086        Set_prescaler( 0);
00087 #   else
00088 #      error (ADC_PRESCALER should be 2, 4, 8, 16, 32, 64 or 128... See config.h file)
00089 #   endif
00090 }
00091 
00092 #endif // USE_ADC

Generated on Fri Mar 17 16:02:03 2006 for Atmel by  doxygen 1.4.6-NO