智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2796|回复: 5
打印 上一主题 下一主题

CCD采集总卡在 while(!ATD0STAT0_SCF)中的问题,采集程序纯移植的,求提点

[复制链接]

7

主题

29

帖子

0

精华

高级会员

Rank: 4

积分
669
QQ
威望
320
贡献
183
兑换币
190
注册时间
2014-5-11
在线时间
83 小时
毕业学校
河北科技大学
跳转到指定楼层
1#
发表于 2015-4-22 08:34:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
移植龙邱的ccd采集测试程序,初始化采集延时函数都没有改,发现单步执行时一直卡在 while(!ATD0STAT0_SCF)跳不出来。AD初始化如下:
void INIT_AD(void)
{
  ATD0CTL1=0x40;  //12位AD
  ATD0CTL2=0x40;   //禁止外部触发, 中断禁止
  ATD0CTL3=0xa0;   //右对齐无符号,每次转换4个序列, No FIFO, Freeze模式下继续转   
  ATD0CTL4=0x01;   //765:采样时间为4个AD时钟周期,ATDClock=[BusClock*0.5]/[PRS+1]
  ATD0CTL5 = 0x30;
  ATD0DIEN=0x00;   //禁止数字输入
}
采集程序如下:void ReadADresult(void)
{
  byte i=0,tslp=0;
  TSL_CLK=1;//起始电平高
  TSL_SI=0; //起始电平低
  delay_us(1); //合理的延时

  TSL_SI=1; //上升沿
  TSL_CLK=0;//下降沿
  delay_us(1); //合理延时

  TSL_CLK=1;//上升沿       4
  TSL_SI=0; //下降沿
  delay_us(1); //合理延时      
  for(i=0;i<64;i++)
  {
    TSL_CLK=0;//下降沿   
    delay_us(8-i/8+1); //合理延时
    while(!ATD0STAT0_SCF);//等待转换结束
   // ATD0STAT0_SCF=0;
    ADV[tslp]=AD_get(0);
    ++tslp;
    TSL_CLK=1;//上升沿
    delay_us(8-i/8+1); //合理延时   
  }
  for(i=0;i<64;i++)
  {
    TSL_CLK=0;//下降沿   
    delay_us(i/8+1); //合理延时
    while(!ATD0STAT0_SCF);//等待转换结束
   // ATD0STAT0_SCF=0;
    ADV[tslp]=AD_get(0);//AD采集
    ++tslp;
    TSL_CLK=1;//上升沿
    delay_us(i/8+1); //合理延时   
  }   
}

延时程序如下:
void Dly_us(byte us)
{
  byte ii;   
   for(ii=0;ii<us;ii++)
   {
      _asm(nop);_asm(nop);_asm(nop);_asm(nop);
      _asm(nop);_asm(nop);_asm(nop);_asm(nop);
      _asm(nop);_asm(nop);_asm(nop);_asm(nop);
      _asm(nop);_asm(nop);_asm(nop);_asm(nop);
      
      _asm(nop);_asm(nop);_asm(nop);_asm(nop);
      _asm(nop);_asm(nop);_asm(nop);_asm(nop);
      _asm(nop);_asm(nop);_asm(nop);_asm(nop);
      _asm(nop);_asm(nop);_asm(nop);_asm(nop);  
  }
}

调试的时候就一直卡在while(!ATD0STAT0_SCF)中









本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

80

主题

1045

帖子

0

精华

跨届大侠

北京龙邱智能科技有限公司

Rank: 10Rank: 10Rank: 10

积分
10332

论坛元老奖章

QQ
威望
2905
贡献
6151
兑换币
4515
注册时间
2008-6-7
在线时间
638 小时
2#
发表于 2015-4-22 09:08:43 | 只看该作者
单独测试你的AD看是否正确,另外你是打算往那个单片机上面移植呢?
回复 支持 反对

使用道具 举报

7

主题

29

帖子

0

精华

高级会员

Rank: 4

积分
669
QQ
威望
320
贡献
183
兑换币
190
注册时间
2014-5-11
在线时间
83 小时
毕业学校
河北科技大学
3#
 楼主| 发表于 2015-4-22 09:16:19 | 只看该作者
chiusir 发表于 2015-4-22 09:08
单独测试你的AD看是否正确,另外你是打算往那个单片机上面移植呢?

单独测试没问题,但和陀螺仪一块采集时就采集不了。
回复 支持 反对

使用道具 举报

7

主题

29

帖子

0

精华

高级会员

Rank: 4

积分
669
QQ
威望
320
贡献
183
兑换币
190
注册时间
2014-5-11
在线时间
83 小时
毕业学校
河北科技大学
4#
 楼主| 发表于 2015-4-22 09:16:33 | 只看该作者
敖丙 发表于 2015-4-22 09:16
单独测试没问题,但和陀螺仪一块采集时就采集不了。

用的128

回复 支持 反对

使用道具 举报

7

主题

29

帖子

0

精华

高级会员

Rank: 4

积分
669
QQ
威望
320
贡献
183
兑换币
190
注册时间
2014-5-11
在线时间
83 小时
毕业学校
河北科技大学
5#
 楼主| 发表于 2015-4-22 11:27:16 来自手机 | 只看该作者
会是什么原因呢?AD寄存器设置冲突了吗?
回复 支持 反对

使用道具 举报

7

主题

29

帖子

0

精华

高级会员

Rank: 4

积分
669
QQ
威望
320
贡献
183
兑换币
190
注册时间
2014-5-11
在线时间
83 小时
毕业学校
河北科技大学
6#
 楼主| 发表于 2015-4-23 21:14:40 | 只看该作者
程序语序写错了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-29 15:38 , Processed in 0.048472 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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