| 本帖最后由 wallace_tsou 于 2014-5-12 13:13 编辑 
 GPIO_StructInit(&GPIO_InitStructure);
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
 GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4  | GPIO_Pin_5;
 GPIO_Init(GPIOC, &GPIO_InitStructure);
 
 ADC_StructInit(&ADC_InitStructure);
 ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;
 ADC_InitStructure.ADC_ScanConvMode = ENABLE;
 ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;
 ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_Rising;
 //    ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;
 ADC_InitStructure.ADC_ExternalTrigConv     = ADC_ExternalTrigConv_T8_TRGO;
 ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
 ADC_InitStructure.ADC_NbrOfConversion = 2;
 ADC_Init(ADC2, &ADC_InitStructure);
 
 ADC_DiscModeChannelCountConfig(ADC2,2);
 //    ADC_DiscModeChannelCountConfig(ADC2,1);
 ADC_DiscModeCmd(ADC2, ENABLE);
 ADC_RegularChannelConfig(ADC2, ADC_Channel_14, 1, ADC_SampleTime_144Cycles);
 ADC_RegularChannelConfig(ADC2, ADC_Channel_15, 2, ADC_SampleTime_144Cycles);
 //    ADC_RegularChannelConfig(ADC2, ADC_Channel_14, 1, ADC_SampleTime_15Cycles);
 //    ADC_RegularChannelConfig(ADC2, ADC_Channel_15, 2, ADC_SampleTime_15Cycles);
 
 ADC_DMARequestAfterLastTransferCmd(ADC2, ENABLE);
 ADC_DMACmd(ADC2, ENABLE);
 ADC_Cmd(ADC2, ENABLE);
 用這樣的程式
 使用在
 ADC_DiscModeChannelCountConfig(ADC2,1);
 設定下,一次觸發ADC出一個。
 使用在
 ADC_DiscModeChannelCountConfig(ADC2,2);
 設定下,一次觸發ADC出二個。
 但前面的程式沒有設定,就自己設定為ADC_DiscModeCmd(ADC2, ENABLE);的行為。
 
 
 
 
 |