智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 10967|回复: 38
打印 上一主题 下一主题

蓝宙ccd采样程序中的*ImageData++ = (byte)(temp_int>>4)求解释啊

  [复制链接]

18

主题

59

帖子

0

精华

高级会员

Rank: 4

积分
976
威望
476
贡献
234
兑换币
262
注册时间
2012-11-7
在线时间
133 小时
跳转到指定楼层
1#
发表于 2013-3-3 14:23:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问下高人蓝宙ccd采样程序中的*ImageData++ = (byte)(temp_int>>4);是什么意思啊  感
void ImageCapture(unsigned char * ImageData)   //CCD采样
{                               //存数据地址
    unsigned char i;
    unsigned int  temp_int;
    TSL1401_SI = 1;         //  SI  = 1      
    SamplingDelay();
    TSL1401_CLK = 1;        /* CLK = 1 */
    SamplingDelay();
    TSL1401_SI = 0;         /* SI  = 0 */
    SamplingDelay();
   
    for(i = 0; i < 20; i++) //延时20us
    {
        Cpu_Delay1us();
    }
   
    temp_int = AD_Measure12(0);//采集第一个像素点
    *ImageData++ = (byte)(temp_int>>4);
    TSL1401_CLK = 0;        /* CLK = 0 */
    for(i=0; i<127; i++)    //采集128
    {
        SamplingDelay();
        SamplingDelay();
        TSL1401_CLK = 1;    /* CLK = 1 */
        SamplingDelay();
        SamplingDelay();
                            //采集第2~128个点
        temp_int = AD_Measure12(0);
        *ImageData++ = (byte)(temp_int>>4);
        TSL1401_CLK = 0;    /* CLK = 0 */
    }
    SamplingDelay();        //再产生一个clk信号结束采集
    SamplingDelay();
    TSL1401_CLK = 1;        /* CLK = 1 */
    SamplingDelay();
    SamplingDelay();
    TSL1401_CLK = 0;        /* CLK = 0 */
}
   

36

主题

1837

帖子

3

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6375
威望
3368
贡献
1847
兑换币
2326
注册时间
2013-2-3
在线时间
580 小时
推荐
发表于 2013-3-3 14:42:45 | 只看该作者
*ImageData++ = (byte)(temp_int>>4);
temp_int>>4表示丢失精度,即低4位不要了。
(byte)是强制类型转换
*imageData = 是把右边的值赋值给左边的指针所指向的变量
++表示赋值完成后imageData自增1
回复 支持 1 反对 0

使用道具 举报

18

主题

59

帖子

0

精华

高级会员

Rank: 4

积分
976
威望
476
贡献
234
兑换币
262
注册时间
2012-11-7
在线时间
133 小时
3#
 楼主| 发表于 2013-3-3 16:07:58 | 只看该作者
明白了  非常感谢楼上 谢谢啊
回复 支持 反对

使用道具 举报

1

主题

25

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
202
威望
117
贡献
49
兑换币
59
注册时间
2012-11-29
在线时间
18 小时
4#
发表于 2013-4-4 15:48:48 | 只看该作者
各位,请问一下为甚么ccd采样是有些像素点一直是低电平?
回复 支持 反对

使用道具 举报

3

主题

71

帖子

0

精华

高级会员

Rank: 4

积分
505
威望
215
贡献
224
兑换币
82
注册时间
2012-11-3
在线时间
33 小时
5#
发表于 2013-4-14 09:08:06 | 只看该作者
灰原姐姐 发表于 2013-3-3 14:42
*ImageData++ = (byte)(temp_int>>4);
temp_int>>4表示丢失精度,即低4位不要了。
(byte)是强制类型转换 ...

如果是丢失4位精度的话,为啥在这段程序中也要丢失4位,这样不就没有数据了么?hex被*ImgaeData赋值,求解,void SendHex(unsigned char hex) {
  unsigned char temp;
  temp = hex >> 4;
  if(temp < 10)
  {
    SCI0_SendChar1(temp + '0');
  }
  else
  {
    SCI0_SendChar1(temp - 10 + 'A');
  }
  temp = hex & 0x0F;
  if(temp < 10)
  {
    SCI0_SendChar1(temp + '0');
  }
  else
  {
    SCI0_SendChar1(temp - 10 + 'A');
  }
}




回复 支持 反对

使用道具 举报

14

主题

369

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2881

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

威望
1348
贡献
823
兑换币
493
注册时间
2012-11-13
在线时间
355 小时
6#
发表于 2013-5-5 12:00:39 | 只看该作者
1039074784 发表于 2013-4-4 15:48
各位,请问一下为甚么ccd采样是有些像素点一直是低电平?

你好,请问问题解决了吗?我们现在也是有一些常低电平,怎么弄啊急死了
回复 支持 反对

使用道具 举报

7

主题

220

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2145
威望
900
贡献
497
兑换币
607
注册时间
2012-11-18
在线时间
374 小时
7#
发表于 2013-8-27 09:55:27 | 只看该作者
灰原姐姐 发表于 2013-3-3 14:42
*ImageData++ = (byte)(temp_int>>4);
temp_int>>4表示丢失精度,即低4位不要了。
(byte)是强制类型转换 ...

问个问题,同为8位无符号整数,byte和unsigned char 有什么区别吗??
用uchar 进行强制类型转换也可以吧!
回复 支持 反对

使用道具 举报

36

主题

1837

帖子

3

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6375
威望
3368
贡献
1847
兑换币
2326
注册时间
2013-2-3
在线时间
580 小时
8#
发表于 2013-8-27 11:46:29 | 只看该作者
donsbin 发表于 2013-8-27 09:55
问个问题,同为8位无符号整数,byte和unsigned char 有什么区别吗??
用uchar 进行强制类型转换也可以吧 ...

你可以找到你的开发环境的byte的定义,就是typedef的
回复 支持 反对

使用道具 举报

7

主题

220

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2145
威望
900
贡献
497
兑换币
607
注册时间
2012-11-18
在线时间
374 小时
9#
发表于 2013-8-27 15:00:42 | 只看该作者
灰原姐姐 发表于 2013-8-27 11:46
你可以找到你的开发环境的byte的定义,就是typedef的

谢谢姐姐,我是个水货,希望以后能多多帮助!话说在群里看到你的靓照咯
表示向你学习啊!
回复 支持 反对

使用道具 举报

36

主题

1837

帖子

3

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6375
威望
3368
贡献
1847
兑换币
2326
注册时间
2013-2-3
在线时间
580 小时
10#
发表于 2013-8-27 16:13:49 | 只看该作者
donsbin 发表于 2013-8-27 15:00
谢谢姐姐,我是个水货,希望以后能多多帮助!话说在群里看到你的靓照咯
表示向你学习啊!
...

噗。。。。吐了。。。哪个群!!!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 03:26 , Processed in 0.059207 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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