ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //ADC1工作在独立模式,和ADC2不配合
ADC_InitStructure.ADC_ScanConvMode = DISABLE; //单通道模式,不扫描
ADC_InitStructure.ADC_ContinuousConvMode =ENABLE; //连续循环模式
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //数据右对齐
ADC_Init(ADC1, &ADC_InitStructure);
/*********** ADC1 注入通道的配置! ************/
ADC_ExternalTrigInjectedConvConfig(ADC1,ADC_ExternalTrigInjecConv_None); //外部触发源为软件触发
ADC_InjectedSequencerLengthConfig(ADC1, 1);
ADC_InjectedChannelConfig(ADC1,ADC_Channel_9,1,ADC_SampleTime_28Cycles5);
ADC_SetInjectedOffset(ADC1,ADC_InjectedChannel_1,0);
ADC配置是上面这样的。
如果改为规则组(只转换一个通道),主程序只要这样就可以循环转换:
/**************启动ADC1规则组的转换***************************/
ADC_SoftwareStartConvCmd(ADC1, ENABLE); //开始转换
while (1)
{
************
}
而在注入组,则要这样才能循环转换:
while (1)
{
ADC_SoftwareStartInjectedConvCmd(ADC1, ENABLE);
*********
}
我想问问我看到的这个现象的原因,是我那里配置错了吗? |