3545|4

8

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

MSP430f149 为什么ADC只能采集一半的电压1.64V [复制链接]

2芯积分
新手,请教个问题:
用MSP430f149开发板测试一个ADC程序,采集P6.0端口的电压值,P6.0端口是通过滑动变阻器与3.3V相连的。在采集的过程中ADC最大值为什么只有2047(不是12位的吗,ADC最大值是4095),采集最大电压只有1.64V? 基准电压设置错误,该怎么设置呢?我的ADC初始化程序如下:
/********************************************
函数名称:Init_ADC
功    能:初始化ADC
参    数:无
返回值  :无
********************************************/
void Init_ADC(void)
{
  ADC12CTL0 = SHT0_12 + ADC12ON+MSC;             // Set sampling time, turn on ADC12
  ADC12CTL1 = SHP+CONSEQ_2;                          // Use sampling timer
  ADC12IE = 0x01;                           // Enable interrupt
  ADC12CTL0 |= ENC;                         // Conversion enabled
  P6SEL |= 0x01;                            // P6.0 ADC option select
  ADC12CTL0 |= ADC12SC;                   // Sampling open
}

最新回复

需要设置参考电压的,实际测试你的电压看看多少,和ad采样算出的电压做对比  详情 回复 发表于 2016-11-24 09:20
 
点赞 关注

回复
举报

11

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
一般都会对这个值设一个偏向于中间的值,在你需要对大的工作值采样或者对特别低的工作值采样的时候能够正常工作,当然具体设多少,可以根据你自己的实际需求计算得来的
 
 

回复

1059

帖子

1

TA的资源

版主

板凳
 
需要设置参考电压的,实际测试你的电压看看多少,和ad采样算出的电压做对比
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(初级)

4
 
kingtian307 发表于 2016-11-24 08:34
一般都会对这个值设一个偏向于中间的值,在你需要对大的工作值采样或者对特别低的工作值采样的时候能够正常 ...

谢谢,我将下面程序的每32个点取一次平均修改为每16个点取一次平均, 得到average(uint型)的值就可以 超过2047,能够采集到3.27V电压。具体什么原因不知道,难道溢出来?
   results[index++] = ADC12MEM0;               // Move results
    if(index == 32)//32个点取一次平均       //if(index == 16)//16个点取一次平均
    {
        uchar i;
        average = 0;
        for(i = 0; i < 32; i++)                   // for(i = 0; i < 16; i++)
        {
            average += results;
        }
        average >>= 5; //除以32             //average >>= 4; //除以16
        index = 0;
    }
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(初级)

5
 
qwerghf 发表于 2016-11-24 09:20
需要设置参考电压的,实际测试你的电压看看多少,和ad采样算出的电压做对比

谢谢。实际测试电压是AD采集电压的两倍,现已对程序进行了修改。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表