00001
00014
00015
00016
00017
00018 #include "adc_config.h"
00019
00020 #ifdef _USE_ADC_LIB_
00021 #include "adc_drv.h"
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00037 void init_adc(void)
00038 {
00039 Adc_enable();
00040 # if (ADC_RIGHT_ADJUST_RESULT == 1)
00041 Adc_right_adjust_result();
00042 # elif (ADC_RIGHT_ADJUST_RESULT == 0)
00043 Adc_left_adjust_result();
00044 # else
00045 # error (ADC_RIGHT_ADJUST_RESULT should be 0 or 1... See config.h file)
00046 # endif
00047
00048 # if (ADC_HIGH_SPEED_MODE == 1)
00049 Adc_enable_high_speed_mode();
00050 # elif (ADC_HIGH_SPEED_MODE == 0)
00051 Adc_disable_high_speed_mode();
00052 # else
00053 # error (ADC_HIGH_SPEED_MODE should be 0 or 1... See config.h file)
00054 # endif
00055
00056 # if (ADC_IT == 1)
00057 Adc_enable_it();
00058 # elif (ADC_IT == 0)
00059 Adc_disable_it();
00060 # else
00061 # error (ADC_IT should be 0 or 1... See config.h file)
00062 # endif
00063
00064 # if (ADC_PRESCALER == 128)
00065 Adc_set_prescaler(7);
00066 # elif (ADC_PRESCALER == 64)
00067 Adc_set_prescaler(6);
00068 # elif (ADC_PRESCALER == 32)
00069 Adc_set_prescaler(5);
00070 # elif (ADC_PRESCALER == 16)
00071 Adc_set_prescaler(4);
00072 # elif (ADC_PRESCALER == 8)
00073 Adc_set_prescaler( 3);
00074 # elif (ADC_PRESCALER == 4)
00075 Adc_set_prescaler( 2);
00076 # elif (ADC_PRESCALER == 2)
00077 Adc_set_prescaler( 1);
00078 # else
00079 # error (ADC_PRESCALER should be 2, 4, 8, 16, 32, 64 or 128... See config.h file)
00080 # endif
00081 }
00082 #endif // USE_ADC
00083
00084 void init_vref_source (void)
00085 {
00086 # if (VREF_SOURCE == 2)
00087 Adc_enable_vcc_vref();
00088 # elif (VREF_SOURCE == 1)
00089 Adc_enable_internal_vref();
00090 # elif (VREF_SOURCE == 0)
00091 Adc_enable_external_vref();
00092 # else
00093 # error (VREF_SOURCE should be 0, 1 or 2... See config.h file)
00094 # endif
00095 }