你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
at89 发表于 2015-10-19 12:49 这种情况那就排除看看喽,是不是原理图上面连接有错或者是标错了了,或者查一下端口复用之类的,最好重新建 ...
ADCx->CHSELR = (uint32_t)ADC_Channel; //
不向stm32f103\107
ADC1->SQR3|=ch; //这个是正确的,很容易
请教大侠指点。
单独用一个channel adc是正确的,用3个,作channel切换就不对了?请指点:
/* Convert the selected Channel Vref with 55.5 Cycles as sampling time */
ADC_ChannelConfig(ADC1, ADC_Channel, ADC_SampleTime_239_5Cycles);
// ADC_ChannelConfig(ADC1, ADC_Channel_0 , ADC_SampleTime_55_5Cycles);
// cda_value=2;
/* ADC Calibration */
ADC_GetCalibrationFactor(ADC1);
// ADC_DMACmd(ADC1, DISABLE);
/* Enable ADC1 */
// ADC_Cmd(ADC1, ENABLE);
/* Wait the ADCEN falg */
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADEN));
/* ADC1 regular Software Start Conv */
ADC_StartOfConversion(ADC1);
if(cda_value==1) RegularConvData_Tab1 = ADC_GetConversionValue(ADC1);
else if(cda_value==2) RegularConvData_Tab2 = ADC_GetConversionValue(ADC1);
else if(cda_value==3) RegularConvData_Tab3 = ADC_GetConversionValue(ADC1);
/* ADC Calibration */
ADC_GetCalibrationFactor(ADC1);
/* Wait the ADCEN falg */
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADEN));
/* ADC1 regular Software Start Conv */
ADC_StartOfConversion(ADC1);
if(ADC_Channel==ADC_Channel_0) RegularConvData_Tab1 = ADC_GetConversionValue(ADC1);
else if(ADC_Channel==ADC_Channel_1) RegularConvData_Tab2 = ADC_GetConversionValue(ADC1);
else if(ADC_Channel==ADC_Channel_9) RegularConvData_Tab3 = ADC_GetConversionValue(ADC1);
/* ADC Calibration */
ADC_GetCalibrationFactor(ADC1);
/* Wait the ADCEN falg */
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADEN));
/* ADC1 regular Software Start Conv */
ADC_StartOfConversion(ADC1);
if(ADC_Channel==ADC_Channel_0) RegularConvData_Tab1 = ADC_GetConversionValue(ADC1);
else if(ADC_Channel==ADC_Channel_1) RegularConvData_Tab2 = ADC_GetConversionValue(ADC1);
else if(ADC_Channel==ADC_Channel_9) RegularConvData_Tab3 = ADC_GetConversionValue(ADC1);