智能车制作

 找回密码
 注册

扫一扫,访问微社区

12
返回列表 发新帖
楼主: iven
打印 上一主题 下一主题

[采集类] 赐教。。一帧图像被截成了两段。。。

  [复制链接]

2

主题

50

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
343
QQ
威望
272
贡献
39
兑换币
0
注册时间
2010-1-12
在线时间
16 小时
11#
发表于 2010-6-1 19:26:22 | 只看该作者
上位机只能一帧一帧地收图像,一次只能接一帧,然后就得停止接收,要不然会错位,还有啊,串行通信的时间其实挺长的,所以时序问题也得好好考虑。
回复

使用道具 举报

3

主题

33

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
300
威望
261
贡献
17
兑换币
0
注册时间
2010-5-5
在线时间
11 小时
12#
发表于 2010-9-8 11:03:16 | 只看该作者
你单片机波特率设置的是多少?你写寄存器的时候是不是保证单片机波特率是准确的9600(或者其他),因为你单片机寄存器的值是计算得来的,是浮点值,但计算机是很准确的波特率,摄像头一次传很大的数据就有问题了,你试试把单片机的波特率设置精确点,尽量用9600或者19200
回复

使用道具 举报

4

主题

248

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2267
QQ
威望
447
贡献
1700
兑换币
2
注册时间
2009-3-15
在线时间
60 小时
13#
发表于 2010-9-8 11:43:00 | 只看该作者
本帖最后由 786892880 于 2010-9-8 11:52 编辑

个人觉得  程序可以从最简单开始,测试摄像头的信号:
#pragma CODE_SEG NON_BANKED

void interrupt 10 Timer2_cow(void) //行中断
{
TFLG1_C2F=1; //清行中断标志位
{

//AD_Init() ;  //放在主函数
for(y=0;y<500;y++)  //在500个点里面  摄像头的行信号可以看的很清楚了
{
while(!ATD0STAT0_SCF);
imageBuffer[z][y]= ATD0DR0L; //开始采集
}
}

//send_image_data();//放在主函数  测试阶段可以在cw上调试就行了
}
}

测试清楚以后,你可以根据实际情况调整程序。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-20 14:33 , Processed in 0.038116 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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