请高手指教AD问题

[复制链接]
2943|6
 楼主| easy_eric 发表于 2012-1-17 16:11 | 显示全部楼层 |阅读模式
AD, ADC, dc, ST, ADC1
程序在AD取样10次,取样结果差别很大如图 a.jpg
void ADC_Configuration()
{
  ADC_InitTypeDef ADC_InitStructure;
  ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
  ADC_InitStructure.ADC_ScanConvMode = DISABLE;
  ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
  ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
  ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
  ADC_InitStructure.ADC_NbrOfChannel = 2;
  ADC_Init(ADC1, &ADC_InitStructure);
  ADC_Init(ADC2, &ADC_InitStructure);
  ADC_RegularChannelConfig(ADC1, ADC_Channel_10, 5,ADC_SampleTime_239Cycles5);
ADC_RegularChannelConfig(ADC2,ADC_Channel_11,5,ADC_SampleTime_239Cycles5);
  ADC_Cmd(ADC1, ENABLE);
  ADC_Cmd(ADC2, ENABLE);
  while(ADC_GetResetCalibrationStatus(ADC1));//等待ADC1校准重置完成
  ADC_StartCalibration(ADC1);//开始ADC1校准
  while(ADC_GetCalibrationStatus(ADC1));//等待ADC1校准完成
  ADC_ResetCalibration(ADC2); //重置ADC1校准寄存器
  while(ADC_GetResetCalibrationStatus(ADC2));//等待ADC1校准重置完成
  ADC_StartCalibration(ADC2);//开始ADC1校准
  while(ADC_GetCalibrationStatus(ADC2));//等待ADC1校准完成
  ADC_SoftwareStartConvCmd(ADC1,ENABLE);
  ADC_SoftwareStartConvCmd(ADC2,ENABLE);
}
请高手指教
 楼主| easy_eric 发表于 2012-1-17 16:53 | 显示全部楼层
请指教一下啊
 楼主| easy_eric 发表于 2012-1-18 11:33 | 显示全部楼层
有人回答吗
香水城 发表于 2012-1-18 12:11 | 显示全部楼层
请注意输入阻抗是否匹配。
crystalzmq 发表于 2012-1-18 17:33 | 显示全部楼层
接anlog的滤波电容,地平面,注意。我也遇到相同的问题,硬件设计好就好了。
 楼主| easy_eric 发表于 2012-1-19 10:17 | 显示全部楼层
5# crystalzmq
能不能说的再具体点,谢谢
today_lucky 发表于 2012-2-22 12:02 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

26

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部