论坛元老
 
- 积分
- 16874
- 金钱
- 16874
- 注册时间
- 2012-10-20
- 在线时间
- 48 小时
|
这是我在原子单通道程序上的改动
ADC_InitStructure.ADC_ScanConvMode = ENABLE; //模数转换工作在多通道模式
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; //模数转换工作在连续转换模式
ADC_InitStructure.ADC_NbrOfChannel = 2; //顺序进行规则转换的ADC通道的数目
//获得ADC值
//ch:通道值 0~3,Rank:采样顺序
u16 Get_Adc(u8 ch,u8 Rank)
{
//设置指定ADC的规则组通道,设置它们的转化顺序和采样时间
ADC_RegularChannelConfig(ADC1, ch, Rank , ADC_SampleTime_239Cycles5 ); //ADC1,ADC通道3,规则采样顺序值为1,采样时间为239.5周期
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束
return ADC_GetConversionValue(ADC1); //返回最近一次ADC1规则组的转换结果
}
可是最终的效果是通道数据错位,通道1的跑到通道2.求助高手
|
|