打印

CYAPI Xferdata问题

[复制链接]
4056|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kongjiyao2010|  楼主 | 2014-4-27 12:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位前辈:
   小生在使用CYAPI时遇到了这样一个问题,下位机MCU通过FX2LP与PC通信传输图像,图像为8位灰度图像,像素大小为188×120,设定FX2LP工作在slaveFIFO模式下,使用内部48M时钟,异步方式读写,EP6为批量端点,IN方向,并设置该端点为512字节4缓冲,16位AUTOIN方式,AUTOIN长度为512字节。上位机在VC6.环境下,使用CYAPI,采用CyBulkInEndPoint->Xferdata(buffer,len)方法,期望将整幅图像一次性全部传入,设定len为188*120,但实际测试发现,Xferdata函数一次只能读入AUTOIN_LENGTH指定的长度,这样必须多次读入,很是麻烦!
    但我个人感觉Xferdata函数应该能读入超过AUTOIN_LENGTH长度大小的数据,毕竟在CYAPI帮助手册里没有直接说明xferdata与AUTOIN_LENGTH有绑定关系!该问题困扰良久,请各位前辈不吝赐教!非常感谢!
  我的邮箱:kongjiyao2010@163.com
沙发
USB-Emily| | 2014-9-10 12:55 | 只看该作者
cyapi在pc端分配的接收buffer默认为maxpacketsize的8倍,后来看cyapi的endpoint类里面有个 setxfersize的函数,可以用这个函数更改buffer大小,后经过setxfersize后,在使用CyBulkInEndPoint->Xferdata(buffer,len)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝