打印

请高手指教AD问题

[复制链接]
1718|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
AD, ADC, dc, ST, ADC1
程序在AD取样10次,取样结果差别很大如图
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 | 只看该作者
请注意输入阻抗是否匹配。

使用特权

评论回复
5
crystalzmq| | 2012-1-18 17:33 | 只看该作者
接anlog的滤波电容,地平面,注意。我也遇到相同的问题,硬件设计好就好了。

使用特权

评论回复
6
easy_eric|  楼主 | 2012-1-19 10:17 | 只看该作者
5# crystalzmq
能不能说的再具体点,谢谢

使用特权

评论回复
7
today_lucky| | 2012-2-22 12:02 | 只看该作者
MARK!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

26

帖子

1

粉丝