本帖最后由 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);的行為。
|