智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 11450|回复: 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

使用道具 举报

14

主题

369

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2881

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

威望
1348
贡献
823
兑换币
493
注册时间
2012-11-13
在线时间
355 小时
39#
发表于 2013-11-29 20:23:15 | 只看该作者
风起时想你 发表于 2013-11-28 22:48
学长,方便加下QQ么。。这个问题困扰好几天了。。。745274094  感激不尽

我都不做飞思卡尔了,,。。我们那会儿就是因为除了发送ccd的图像以外还在主程序发送其他传感器的值了,所以CCDVIEW上会显示有一段常低电平,。好好检查程序
回复 支持 反对

使用道具 举报

14

主题

369

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2881

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

威望
1348
贡献
823
兑换币
493
注册时间
2012-11-13
在线时间
355 小时
38#
发表于 2013-11-29 20:22:28 | 只看该作者
风起时想你 发表于 2013-11-28 22:48
学长,方便加下QQ么。。这个问题困扰好几天了。。。745274094  感激不尽

我都不做飞思卡尔了,,。。我们那会儿就是因为除了发送ccd的图像以外还在主程序发送其他传感器的值了,所以CCDVIEW上会显示有一段常低电平,。好好检查程序
回复 支持 反对

使用道具 举报

36

主题

1837

帖子

3

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6375
威望
3368
贡献
1847
兑换币
2326
注册时间
2013-2-3
在线时间
580 小时
37#
发表于 2013-11-28 23:31:12 | 只看该作者
风起时想你 发表于 2013-11-28 22:49
蓝宙的自适应程序为什么 在上位机看,左边总有一段 低电平,采全白的时候也存在。

那程序不是我写的,我也没用过。
回复 支持 反对

使用道具 举报

1

主题

23

帖子

0

精华

高级会员

Rank: 4

积分
678
威望
344
贡献
208
兑换币
215
注册时间
2013-6-2
在线时间
63 小时
36#
发表于 2013-11-28 22:49:52 | 只看该作者
灰原姐姐 发表于 2013-3-3 14:42
*ImageData++ = (byte)(temp_int>>4);
temp_int>>4表示丢失精度,即低4位不要了。
(byte)是强制类型转换 ...

蓝宙的自适应程序为什么 在上位机看,左边总有一段 低电平,采全白的时候也存在。
回复 支持 反对

使用道具 举报

1

主题

23

帖子

0

精华

高级会员

Rank: 4

积分
678
威望
344
贡献
208
兑换币
215
注册时间
2013-6-2
在线时间
63 小时
35#
发表于 2013-11-28 22:48:32 | 只看该作者
我爱小kb 发表于 2013-11-28 13:20
注意保证程序里没有其它发送函数在

学长,方便加下QQ么。。这个问题困扰好几天了。。。745274094  感激不尽
回复 支持 反对

使用道具 举报

1

主题

23

帖子

0

精华

高级会员

Rank: 4

积分
678
威望
344
贡献
208
兑换币
215
注册时间
2013-6-2
在线时间
63 小时
34#
发表于 2013-11-28 22:44:39 | 只看该作者
1039074784 发表于 2013-4-4 15:48
各位,请问一下为甚么ccd采样是有些像素点一直是低电平?

我们也遇到这种情况了。。。是程序的问题么?你们怎么处理的。。。我们都困扰好几天了。。
回复 支持 反对

使用道具 举报

14

主题

369

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2881

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

威望
1348
贡献
823
兑换币
493
注册时间
2012-11-13
在线时间
355 小时
33#
发表于 2013-11-28 13:20:59 | 只看该作者
风起时想你 发表于 2013-11-26 13:14
我们是第九届的,也遇到这个问题了。你们当时解决了没???图像左端总有一块低电压

注意保证程序里没有其它发送函数在
回复 支持 反对

使用道具 举报

1

主题

23

帖子

0

精华

高级会员

Rank: 4

积分
678
威望
344
贡献
208
兑换币
215
注册时间
2013-6-2
在线时间
63 小时
32#
发表于 2013-11-26 13:14:22 | 只看该作者
我爱小kb 发表于 2013-5-5 12:00
你好,请问问题解决了吗?我们现在也是有一些常低电平,怎么弄啊急死了

我们是第九届的,也遇到这个问题了。你们当时解决了没???图像左端总有一块低电压
回复 支持 反对

使用道具 举报

36

主题

1837

帖子

3

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6375
威望
3368
贡献
1847
兑换币
2326
注册时间
2013-2-3
在线时间
580 小时
31#
发表于 2013-9-2 10:09:12 | 只看该作者
donsbin 发表于 2013-9-2 09:40
我发的是数组,不是字符串,测试了一次啊,发送{1,2,3,7,15,16,18,25},接收到的数据显示到液晶上,顺序对 ...

请仔细检查,自行解决。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-9 14:44 , Processed in 0.078554 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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