智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1730|回复: 8
打印 上一主题 下一主题

ccd

[复制链接]

1

主题

25

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
202
威望
117
贡献
49
兑换币
59
注册时间
2012-11-29
在线时间
18 小时
跳转到指定楼层
1#
发表于 2013-1-11 20:21:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void StartIntegration(void) {
    unsigned char i;
    SI_SetVal();            /* SI  = 1 */
    SamplingDelay();
    CLK_SetVal();           /* CLK = 1 */
    SamplingDelay();
    SI_ClrVal();            /* SI  = 0 */
    SamplingDelay();
    CLK_ClrVal();           /* CLK = 0 */
    for(i=0; i<127; i++) {
        SamplingDelay();
        SamplingDelay();
        CLK_SetVal();       /* CLK = 1 */
        SamplingDelay();
        SamplingDelay();
        CLK_ClrVal();       /* CLK = 0 */
    }
    SamplingDelay();
    SamplingDelay();
    CLK_SetVal();           /* CLK = 1 */
    SamplingDelay();
    SamplingDelay();
    CLK_ClrVal();           /* CLK = 0 */
}
void ImageCapture(unsigned char * ImageData) {
    unsigned char i;
    unsigned char error;
    unsigned int  temp_int;
    SI_SetVal();            /* SI  = 1 */
    SamplingDelay();
    CLK_SetVal();           /* CLK = 1 */
    SamplingDelay();
    SI_ClrVal();            /* SI  = 0 */
    SamplingDelay();
    //Delay 10us for sample the first pixel
    for(i = 0; i < 10; i++) {
        Cpu_Delay1us();
    }
    //Sampling Pixel 1
    error = AO_Measure(TRUE);
    error = AO_GetValue16(&temp_int);
    *ImageData++ = (byte)(temp_int>>8);
    CLK_ClrVal();           /* CLK = 0 */
    for(i=0; i<127; i++) {
        SamplingDelay();
        SamplingDelay();
        CLK_SetVal();       /* CLK = 1 */
        SamplingDelay();
        SamplingDelay();
        //Sampling Pixel 2~128
        error = AO_Measure(TRUE);
        error = AO_GetValue16(&temp_int);
        *ImageData++ = (byte)(temp_int>>8);
        CLK_ClrVal();       /* CLK = 0 */
    }
    SamplingDelay();
    SamplingDelay();
    CLK_SetVal();           /* CLK = 1 */
    SamplingDelay();
    SamplingDelay();
    CLK_ClrVal();           /* CLK = 0 */
}

void SendHex(unsigned char hex) {
  unsigned char temp;
  temp = hex >> 4;
  if(temp < 10) {
    SendChar_Polling(temp + '0');
  } else {
    SendChar_Polling(temp - 10 + 'A');
  }
  temp = hex & 0x0F;
  if(temp < 10) {
    SendChar_Polling(temp + '0');
  } else {
    SendChar_Polling(temp - 10 + 'A');
  }
}
这程序怎么解释?求解!!!

7

主题

563

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4530
QQ
威望
2516
贡献
1044
兑换币
592
注册时间
2011-9-24
在线时间
485 小时
2#
发表于 2013-1-11 20:32:24 | 只看该作者
红烧肉~
回复 支持 反对

使用道具 举报

3

主题

15

帖子

0

精华

高级会员

Rank: 4

积分
728
威望
315
贡献
329
兑换币
58
注册时间
2012-8-15
在线时间
43 小时
3#
发表于 2013-1-11 20:33:18 | 只看该作者
/*************************************************
                    曝光开始
*************************************************/
void StartIntegration(void) {

    unsigned char i;

    SI_SetVal();            // SI  = 1
    SamplingDelay();
    CLK_SetVal();           // CLK = 1
    SamplingDelay();
    SI_ClrVal();            // SI  = 0
    SamplingDelay();
    CLK_ClrVal();           // CLK = 0

    for(i=0; i<127; i++) {
        SamplingDelay();
        SamplingDelay();
        CLK_SetVal();       // CLK = 1
        SamplingDelay();
        SamplingDelay();
        CLK_ClrVal();       // CLK = 0
    }
    SamplingDelay();
    SamplingDelay();
    CLK_SetVal();           // CLK = 1
    SamplingDelay();
    SamplingDelay();
    CLK_ClrVal();           // CLK = 0
}                  

/*************************************************
                  CCD采样程序
*************************************************/
void ImageCapture(unsigned char * ImageData) {

    unsigned char i;
    unsigned char error;
    unsigned int  temp_int;

    SI_SetVal();            /* SI  = 1 */
    SamplingDelay();
    CLK_SetVal();           /* CLK = 1 */
    SamplingDelay();
    SI_ClrVal();            /* SI  = 0 */
    SamplingDelay();

    //Delay 10us for sample the first pixel
    for(i = 0; i < 10; i++) {
        Cpu_Delay1us();
    }

    //Sampling Pixel 1
    error = AO_Measure(TRUE);
    error = AO_GetValue16(&temp_int);
    *ImageData++ = (byte)(temp_int>>8);
    CLK_ClrVal();           /* CLK = 0 */

    for(i=0; i<127; i++) {
        SamplingDelay();
        SamplingDelay();
        CLK_SetVal();       /* CLK = 1 */
        SamplingDelay();
        SamplingDelay();
        //Sampling Pixel 2~128
        error = AO_Measure(TRUE);
        error = AO_GetValue16(&temp_int);
        *ImageData++ = (byte)(temp_int>>8);
        CLK_ClrVal();       /* CLK = 0 */
    }
    SamplingDelay();
    SamplingDelay();
    CLK_SetVal();           /* CLK = 1 */
    SamplingDelay();
    SamplingDelay();
    CLK_ClrVal();           /* CLK = 0 */
}

/**************** 转换成16进制发送 ************************/
void SendHex(unsigned char hex) {
  unsigned char temp;
  temp = hex >> 4;
  if(temp < 10) {
    SendChar_Polling(temp + '0');
  } else {
    SendChar_Polling(temp - 10 + 'A');
  }
  temp = hex & 0x0F;
  if(temp < 10) {
    SendChar_Polling(temp + '0');
  } else {
    SendChar_Polling(temp - 10 + 'A');
  }
}
回复 支持 反对

使用道具 举报

3

主题

15

帖子

0

精华

高级会员

Rank: 4

积分
728
威望
315
贡献
329
兑换币
58
注册时间
2012-8-15
在线时间
43 小时
4#
发表于 2013-1-11 20:34:00 | 只看该作者
http://www.znczz.com/thread-112129-1-1.html
我也才开始看CCD,可以看看这个视屏,有讲解
回复 支持 反对

使用道具 举报

1

主题

25

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
202
威望
117
贡献
49
兑换币
59
注册时间
2012-11-29
在线时间
18 小时
5#
 楼主| 发表于 2013-1-11 20:50:32 | 只看该作者
这个只讲了一部分,其他部分没说呢!!!
回复 支持 反对

使用道具 举报

1

主题

25

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
202
威望
117
贡献
49
兑换币
59
注册时间
2012-11-29
在线时间
18 小时
6#
 楼主| 发表于 2013-1-11 20:55:02 | 只看该作者
整体框架意思知道,但不知道为什么这么写?
回复 支持 反对

使用道具 举报

16

主题

1037

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5076

优秀会员奖章活跃会员奖章论坛元老奖章在线王奖章

威望
1956
贡献
2072
兑换币
679
注册时间
2012-2-24
在线时间
524 小时
7#
发表于 2013-1-11 20:58:17 | 只看该作者
实际曝光就是进行积分!
回复 支持 反对

使用道具 举报

13

主题

721

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1909

优秀会员奖章活跃会员奖章

威望
1115
贡献
330
兑换币
3
注册时间
2012-12-31
在线时间
232 小时
8#
发表于 2013-1-11 21:11:09 | 只看该作者
回复 支持 反对

使用道具 举报

10

主题

43

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2309
威望
1133
贡献
702
兑换币
727
注册时间
2012-10-29
在线时间
237 小时
9#
发表于 2013-1-24 16:56:52 | 只看该作者
转换16进制那个函数为什么我单独用用不了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-2 23:24 , Processed in 0.059340 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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