打印
[STM8]

STML052 ADC参考电压

[复制链接]
1264|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cuit3062|  楼主 | 2015-12-7 16:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void Init_AD()//AD初始化
{
CLK_PCKENR2 |= 0x01; //给ADC1喂时钟,否则ADC不工作。
ADC1_CR1 = 0x00 ;
ADC1_CR2 = 0x82; //0..23通道,取样16分频
ADC1_TRIGR1=0x10;//使用内部参考电压
RI_ASCR1=0x00;
ADC1_SQR1=0x80;//DMAOFF

//ADC1_CR3 = 0x56; //24,TS,Vref 通道,取样16分频
}
/********************************************************************/
/*  AD采样 14通道4次采样均值                                                              */
/*******************************************************************/
int  Value_AD(int k)//AD采样值
{
  int Values=0;;
  int buff=0;

    ADC1_SQR3=0x40;
  
  for(int i =0;i<11;i++)
  {
     ADC1_CR1=0x03;
    for(int j=0  ; j<100; j++);//简单掩饰
    while(ADC1_SR_EOC==0x00);//等待采样结束
      ADC1_SR_EOC=0x00;//清除采样标志
      if(i>0)
      {
        buff=0;
        buff=ADC1_DRH;
        buff= (buff<<8)+ADC1_DRL;
        Values+=buff;
      }
   }
  ADC1_CR1=0x00;//采样结束
  Values=Values/10;
  
  CLK_PCKENR2=(CLK_PCKENR2&0xfe);
return Values;
}我是准备用内部参考电压  但是结果是使用的外部电压  因为外部电压不稳  所以不能用  请哪位大侠帮忙看一下 或者给个例子
沙发
desertsailor| | 2015-12-7 23:50 | 只看该作者
STM8L内部有REF,但并不能直接作为ADC的参考源,如果非要用的话我想有一种办法:通过RI将内部REF输出到相应的IO上,再将这个IO与外部REF脚相连。

使用特权

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

本版积分规则

1

主题

2

帖子

0

粉丝