智能车制作

标题: 大神不能错过 [打印本页]

作者: 小小同学    时间: 2014-7-28 16:55
标题: 大神不能错过
龙邱 ccd 自带程序里:ADV[tslp]=ATD0DR0;  //AD采集
ADV是像素数组明,请问ATD0DR0指的是什么?

我要用在k60上应该怎样改? 多谢

作者: MicroJIA    时间: 2014-7-28 17:10
右键  Go to definition of "ATD0DR0"
作者: 小小同学    时间: 2014-7-28 17:11
MicroJIA 发表于 2014-7-28 17:10
右键  Go to definition of "ATD0DR0"

是记事本资料啊

作者: 机器人没名字    时间: 2014-7-28 17:34
AD转换后的结果的寄存器
作者: 小小同学    时间: 2014-7-28 17:40
机器人没名字 发表于 2014-7-28 17:34
AD转换后的结果的寄存器

不胜感激
作者: 邵志伟    时间: 2014-7-28 20:45
是ad转换之后的寄存器.....
作者: 小小同学    时间: 2014-7-30 10:35
邵志伟 发表于 2014-7-28 20:45
是ad转换之后的寄存器.....

大神问一下ccd的时钟怎么配置?最好是代码举例。谢啦

作者: 邵志伟    时间: 2014-7-30 10:44
小小同学 发表于 2014-7-30 10:35
大神问一下ccd的时钟怎么配置?最好是代码举例。谢啦

针对S12     AD长度为1,就是每次只采集一个管脚
这个是红树伟业的采集例程,我看采集也蛮稳定的就随便这么写了。,其实是照着写的。
中断设置为1ms也能稳定采集,修改delay_ccd(); 里面的时常就可以了。
1-20ms中断都可以随意设置。
void CCD_collect(void)
{
  uchar i;
  ATD0CTL5=0X20;                  // 配置AD采集口为AD0
  //开始SI
  si1=0 ;
  clk1=0;
  delay_ccd();                          //适当延时,长短自己慢慢调即可我那时候是跳到0.5us左右,具体忘记了。
  si1=1;
  delay_ccd();
  clk1=1;
  delay_ccd();
  si1=0;
  delay_ccd();
  while(!ATD0STAT0_SCF);
  SCCD[0] = ATD0DR0L;          //采集第一个点
  clk1=0;
  for(i=1; i<128; i++)              //采集2-128个点
  {
    delay_ccd();
    clk1=1;
    delay_ccd();
    while(!ATD0STAT0_SCF);
    SCCD = ATD0DR0L;
    clk1=0;
  }
   delay_ccd();
   clk1=1;
   delay_ccd();
   clk1=0;
   delay_ccd();
}

作者: 邵志伟    时间: 2014-7-30 10:46
小小同学 发表于 2014-7-30 10:35
大神问一下ccd的时钟怎么配置?最好是代码举例。谢啦

K60的话其实一样的,只不过你要看人家库了解下怎么配置管脚之类的...
作者: 小小同学    时间: 2014-7-30 10:50
邵志伟 发表于 2014-7-30 10:44
针对S12     AD长度为1,就是每次只采集一个管脚
这个是红树伟业的采集例程,我看采集也蛮稳定的就随便这 ...

谢啦

作者: 小小同学    时间: 2014-7-30 10:52
邵志伟 发表于 2014-7-30 10:46
K60的话其实一样的,只不过你要看人家库了解下怎么配置管脚之类的...

其实就是不知道ATD0DR0L这个寄存器在k60中怎么配置

作者: 邵志伟    时间: 2014-7-30 11:08
小小同学 发表于 2014-7-30 10:52
其实就是不知道ATD0DR0L这个寄存器在k60中怎么配置

。。。你看看野火的视频吧。。。




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2