智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2109|回复: 4
打印 上一主题 下一主题

[软件类] AD精度改成10bit的 就不行了 求大神指教

[复制链接]

1

主题

20

帖子

0

精华

高级会员

Rank: 4

积分
739
威望
454
贡献
147
兑换币
0
注册时间
2011-11-4
在线时间
69 小时
跳转到指定楼层
1#
发表于 2012-7-10 23:49:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AD精度怎么改的   求大神指教 多谢了
XS128里原来AD用的是12bit的  现在用G128 但是G里面 AD只有8和10bit   我想先在XS128里先将其改成10bit的 然后在移植到G128里面 但是我将ATD0CTL1里面的改成是10bit的了 还是不行 不知道是不是要改其他的 下面贴出AD初始化 以及AD读取  请大神不吝赐教 不胜万分感激!
void ad_init()
{
  ATD0CTL1=0b01000000; // 12bit
  //ATD0CTL1=0b00100000; // 10bit
  //ATD0CTL1=0b00000000; // 8bit
  ATD0CTL2=0x40;
  ATD0CTL3 = 0b11000000;    //8 路循环检测。
  ATD0CTL4=0b01000001;
  ATD0CTL5_MULT = 1; //多路采集开关,长度:S8C,S4C,S2C,S1C,
  ATD0CTL5 = 0b00110000;
  ATD0DIEN=0x00;        //Disable 数字输入。
}

void Read_AD(void)
{     
    int ad_temp[8][3]={0};
    int i;

    for(i=0; i<=2; i++)  //采集3次
    {
        while(!ATD0STAT2_CCF0);  //等待转换结束   
        ad_temp[0] = ATD0DR0;  //读取转换的结果
   

1

主题

20

帖子

0

精华

高级会员

Rank: 4

积分
739
威望
454
贡献
147
兑换币
0
注册时间
2011-11-4
在线时间
69 小时
2#
 楼主| 发表于 2012-7-10 23:50:17 | 只看该作者
while(!ATD0STAT2_CCF1);  //等待转换结束   
        ad_temp[1][i] = ATD0DR1;  //读取转换的结果
        
        while(!ATD0STAT2_CCF2);  //等待转换结束   
        ad_temp[2][i] = ATD0DR2;  //读取转换的结果
        
        while(!ATD0STAT2_CCF3);  //等待转换结束   
        ad_temp[3][i] = ATD0DR3;  //读取转换的结果
        
        /**/
            
        while(!ATD0STAT2_CCF4);  //等待转换结束   
        ad_temp[4][i] = ATD0DR4;  //读取转换的结果
            
        while(!ATD0STAT2_CCF5);  //等待转换结束   
        ad_temp[5][i] = ATD0DR5;  //读取转换的结果
            
        while(!ATD0STAT2_CCF6);  //等待转换结束   
        ad_temp[6][i] = ATD0DR6;  //读取转换的结果
        
        while(!ATD0STAT2_CCF7);  //等待转换结束   
        ad_temp[7][i] = ATD0DR7;  //读取转换的结果
           
    }
   
    //计算平均值
    //适当的滤波
    for(i=0; i<=7; i++)  
    {
        sensor_ad[i] = (ad_temp[i][0] +
                        ad_temp[i][1] +
                        ad_temp[i][2]) /3 ;  
    }

    sensor_ad[5] = sensor_ad[6] =0;
   

}
回复 支持 反对

使用道具 举报

200

主题

2621

帖子

1

精华

杰出人士

蜗牛

Rank: 12Rank: 12Rank: 12

积分
12488

优秀会员奖章活跃会员奖章论坛骨干奖章论坛元老奖章在线王奖章资源大师奖章

QQ
威望
5973
贡献
3101
兑换币
1999
注册时间
2011-10-21
在线时间
1707 小时
3#
发表于 2012-7-11 10:32:52 | 只看该作者
你应该对照技术手册写初始化啊
回复 支持 反对

使用道具 举报

11

主题

57

帖子

0

精华

高级会员

Rank: 4

积分
652
QQ
威望
367
贡献
187
兑换币
4
注册时间
2012-3-18
在线时间
49 小时
4#
发表于 2012-7-11 11:15:56 | 只看该作者
AD时钟最快是8M 不要超了
回复 支持 反对

使用道具 举报

1

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
367
威望
227
贡献
80
兑换币
22
注册时间
2011-10-5
在线时间
30 小时
5#
发表于 2012-10-11 11:17:13 | 只看该作者
qinlu123 发表于 2012-7-11 10:32
你应该对照技术手册写初始化啊

有技术手册?
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-27 17:19 , Processed in 0.088659 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表