求助:关于使用68013向PC发送视频数据的问题

[复制链接]
5135|2
 楼主| Jet_Zou 发表于 2011-6-1 09:13 | 显示全部楼层 |阅读模式
目前正在做一个200W像素的视频采集卡,一次采集一帧数据1600*1200*2以上,但是CYAPI 中的BeginDataXfer一次貌似不能采集过多,只能分两次取,数据是从FPGA过来的,每帧数据都增加了帧头和帧尾,FPGA那边每次从sensor那边取一帧数据之后会给这帧数据增加帧头帧尾,然后给68013一个PKTEND信号;现在的问题是每次分成两次取数据,好像SetXferSize只能设置一次,这样的话两次取数据的BeginDataXfer函数的size都不能设置成512倍数(因为帧头帧尾的缘故),取出来的数据就不正常了,请问我现在能有什么样的解决办法,或者是我对CYAPI理解得还不够深???
dqyubsh 发表于 2011-6-1 14:07 | 显示全部楼层
你上个VC代码吧,直观些。

你说的“好像SetXferSize......"和我理解的不一样,我觉得它可以是任意长度,而且可以返回实际读回的长度。这和fread函数一个意思。

int   numread = fread( buf, sizeof( char ), 25, fp );

想读25个字节,实际读回来的数据长度是numread,可能是25,可能小于25。
liangziusb 发表于 2011-6-23 16:31 | 显示全部楼层
一次不要只采集一帧,否则你的速度跟本上不去;
用独立的线程去采集;
BeginDataXfe()的用法是有讲究的,你的理解还是不到位;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

22

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部