打印

为什么SD16_A采集输出寄存器里的值不变

[复制链接]
1901|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sbar|  楼主 | 2013-4-26 15:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序如下
SD16CTL |= (SD16REFON+SD16VMIDON);  //开启内部基准源,开启输出缓冲器   
  SD16CTL |= SD16SSEL_1+SD16DIV_3;        //设置ADC时钟SMCLK/8(524KHz)  
  delay(10);
SD16CCTL0 |= SD16BUF_1+SD16IE+SD16DF;  //有符号(双极性) enable interrupt //---------------------------------------------------------------------------      
SD16INCTL0 |=SD16GAIN_2+SD16INCH_7;      //设置新的通道号7,采样基准电平 //--------------------------------------------------------------------------
SD16CCTL0 |=SD16SC;//开始采样
while(!(SD16CCTL0&SD16IFG));
offset=SD16MEM0;//
SD16INCTL0 |=SD16INCH_3;//SD16INCH_0;
SD16CCTL0 |=SD16SC;//开始采样
#pragma vector=SD16A_VECTOR
__interrupt void SD16AISR (void)

{
  _NOP();
  _NOP();
       switch(__even_in_range(SD16IV,4))
  {
  case 2:
    break;
  case 4:
    adcwrite[index++] =SD16MEM0-offset;
    SD16CTL &=~(SD16VMIDON + SD16REFON);//关掉基准源
    break;
  }
adcwrite[]中的数是FFF9,FFF8,FFFA,FFFD,FFF6,....
测试输入电平70mV,不知道问题出哪里了

相关帖子

沙发
sbar|  楼主 | 2013-4-26 15:37 | 只看该作者
自己顶

使用特权

评论回复
板凳
sbar|  楼主 | 2013-4-26 15:41 | 只看该作者
顶顶顶

使用特权

评论回复
地板
sbar|  楼主 | 2013-4-26 16:48 | 只看该作者
自己顶顶顶

使用特权

评论回复
5
sbar|  楼主 | 2013-4-26 17:46 | 只看该作者
自己再顶顶顶

使用特权

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

本版积分规则

个人签名:item.taobao.com/item.htm?_u=f3p4djtbd7c&id=4003503

9

主题

33

帖子

0

粉丝