void ADC1_Config()
{
  ADC1_DeInit();

#ifdef EN_SENSOR_MIC
  ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS, ADC1_CHANNEL_1, ADC1_PRESSEL_FCPU_D4,
            ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL1, DISABLE);
  ADC1_ScanModeCmd(ENABLE);
#else  
  ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS, ADC1_CHANNEL_0, ADC1_PRESSEL_FCPU_D4,
            ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL0, DISABLE);
  ADC1_Cmd(ENABLE);
#endif
  
  //ADC1_ITConfig(ADC1_IT_AWS0, ENABLE);
  
  ADC1_StartConversion();
}
/********************************************************************************
* adc_init																		*
********************************************************************************/
void adc_channel_init(void){
	//io init
	GPIO_Init(IDSG_PORT, IDSG_PIN, GPIO_MODE_IN_FL_NO_IT);
	GPIO_Init(ICHG_PORT, ICHG_PIN, GPIO_MODE_IN_FL_NO_IT);
	GPIO_Init(VBAT_PORT, VBAT_PIN, GPIO_MODE_IN_FL_NO_IT);
	GPIO_Init(THS1_PORT, THS1_PIN, GPIO_MODE_IN_FL_NO_IT);
	//io init
	GPIO_Init(THS2_PORT, THS2_PIN, GPIO_MODE_IN_FL_NO_IT);

	ADC1_Init(ADC1_CONVERSIONMODE_SINGLE, ADC1_CHANNEL_0, ADC1_PRESSEL_FCPU_D18,
			  ADC1_EXTTRIG_GPIO, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL5,
			  DISABLE); //ADC1_CONVERSIONMODE_SINGLE
	ADC1_ScanModeCmd(ENABLE);
	//ADC1_ScanModeCmd(DISABLE);
    
    adc_scan_times_flag = 0;

    
}
/*
    Configure ADC1 Continuous Conversion with End Of Conversion interrupt enabled .
  */
void InitADC()
{
  /* De-Init ADC1 peripheral */
  ADC1_DeInit();
    
  /* Enable EOC interrupt */
  ADC1_ITConfig(ADC1_IT_EOCIE, ENABLE);
    
  /* Enable conversion data buffering */
  ADC1_DataBufferCmd(ENABLE);
    
  /* Enable scan mode conversion */
  ADC1_ScanModeCmd(ENABLE);

  /* Init ADC1 peripheral */
  /* ADC1 Channel 3 */
  ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS, REF_2V5_ANALOG, ADC1_PRESSEL_FCPU_D4, \
            ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL3,\
            DISABLE);
                        
  /* ADC1 Channel 4 */
  ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS, L9110_U3_DRAW, ADC1_PRESSEL_FCPU_D4, \
            ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL4,\
            DISABLE);
                        
  /* ADC1 Channel 5 */
  ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS, L9110_U4_DRAW, ADC1_PRESSEL_FCPU_D4, \
            ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL5,\
            DISABLE);
                        
  /* ADC1 Channel 6 */
  ADC1_Init(ADC1_CONVERSIONMODE_CONTINUOUS, L9110_U5_DRAW, ADC1_PRESSEL_FCPU_D4, \
            ADC1_EXTTRIG_TIM, DISABLE, ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL6,\
            DISABLE);
  
  ADC1_Cmd(ENABLE);
}