智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1776|回复: 2
打印 上一主题 下一主题

XS128 的AD不好用了,不知道为什么

[复制链接]

30

主题

137

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1147
威望
618
贡献
267
兑换币
368
注册时间
2012-12-29
在线时间
131 小时
跳转到指定楼层
1#
发表于 2013-4-4 08:59:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
xs128 AD口只有AD0能正常输出,而其他的都不能用,不知道为什么? 下面是程序:
void Init_AD_more(void)
{   
  ATD0CTL1 = 0x40;    //选用12位模数转换
  ATD0CTL2 = 0X40;    //启动A/D转换,快速清零,禁止中断
  //delay_atd();                //延时
  ATD0CTL3 = 0Xa0;    //10100000 转换序列长度为4   右对齐
  ATD0CTL4 = 0x01;    //AD模块时钟频率为2MHz  fA=fBUS/(PRS+1)/2      24周期采集
  ATD0CTL5 = 0X30;    //多通道,连续转换,起始通道AD0   AD1,AD2,AD3,因为 0011 转换一次
  ATD0DIEN = 0X00;    // 禁止数字输入■                                                                           8

}
/*______________________________AD 0---1 口 数据_____________________________________*/
void AD_get_more(void)                             
{  
//int i;
   while(!ATD0STAT2_CCF0);   
   {
      PORTA_PA0=1;
      ad_value_0=ATD0DR0;            
   }
/*______________________________AD ---0 口 数据_____________________________________*/   
   while(!ATD0STAT2_CCF1);
   {
      PORTA_PA1=1;
      ad_value_1=ATD0DR1;
    }


7

主题

29

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2109
威望
696
贡献
431
兑换币
350
注册时间
2012-10-12
在线时间
491 小时
毕业学校
惠州学院
2#
发表于 2013-4-4 10:18:40 | 只看该作者
我这两天被这个原因给困住了,单独采样时,AD0、AD1都能用!两通道同时采样时,就不行!不知道为什么,昨天晚上思考了一晚上,结果不仅没解决,还把两个USB接口给烧坏了!
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

高级会员

Rank: 4

积分
566
QQ
威望
274
贡献
178
兑换币
183
注册时间
2017-11-3
在线时间
57 小时
毕业学校
宇宙小学
3#
发表于 2017-11-6 20:33:07 | 只看该作者
ATD0CTL3的问题,你把那个转换序列设置的长一点就完美解决了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-25 14:55 , Processed in 0.094057 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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