打印
[STM8]

为什么我的STM8S的AD在0V时为0X25~0X30?

[复制链接]
2563|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dami|  楼主 | 2008-12-18 21:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为什么我的STM8S的AD在0V时为0X25~0X30?电压加大还是数据大.
请版主指点.
配置:
void ADC_config(void)
{
    GPIO_Init_TypeDef   GPIO_InitStructure;
  ADC_Init_TypeDef    ADC_InitStructure;
  /*  Init GPIO for ADC */
  GPIO_InitStructure.GPIO_Mode = GPIO_MODE_IN_FL_NO_IT ;
  GPIO_InitStructure.GPIO_Pin = ( VTV | VEC | Z_V | XYV | FXV | VC | VD | V01 );
  GPIO_Init(PBPORT, &GPIO_InitStructure);
  
    GPIO_InitStructure.GPIO_Mode = GPIO_MODE_IN_FL_NO_IT ;
  GPIO_InitStructure.GPIO_Pin = ( V02 | ADCELSE );
  GPIO_Init(PEPORT, &GPIO_InitStructure);
    ADC_DeInit();
  enableInterrupts();
    
    /* Initialize right data alignement */
  ADC_InitStructure.ADC_Align = ADC_ALIGN_RIGHT;
  /* Disable the schmitt trigger on channel 9 */
  ADC_InitStructure.ADC_SchmittTriggerChannel = ADC_SCHMITTTRIG_ALL;
  ADC_InitStructure.ADC_SchmittTriggerState = DISABLE;
  /* Analog channel to convert */
  ADC_InitStructure.ADC_Channel = ADC_CHANNEL_1;
  /* Select Conversion mode */
  ADC_InitStructure.ADC_ConversionMode  = ADC_CONVERSIONMODE_SINGLE;
  /* Init ADC peripheral according to ADC_InitStructure */
  ADC_Init(&ADC_InitStructure);
  /* Enable EOC interrupt */
  
}
读是这样的:
ADC_StartConversion();
Delay(100);
Conversion_Value = ADC_GetConversionValue();
ADC_ClearFlag();
沙发
原野之狼| | 2008-12-18 21:51 | 只看该作者

电路的问题吧

有偏移,或者器件,或者布线造成的。
所以不为零。

使用特权

评论回复
板凳
highend| | 2010-7-13 17:57 | 只看该作者
挖矿中.......
还没解决?

使用特权

评论回复
地板
honami520| | 2010-7-16 08:18 | 只看该作者
你的VCAP有没有加470nf-1000nf的电容到地啊?这个脚正常应该是1.8V;我用的内部5V基准,可以稳定采到5mv左右的信号。误差不超过5mv。管脚不能悬空,悬空的话,数值是不定的

使用特权

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

本版积分规则

61

主题

1050

帖子

6

粉丝