使用CYAPI中函数进行bulkout传输失败

[复制链接]
 楼主| ousj 发表于 2019-10-27 10:57 | 显示全部楼层 |阅读模式
我使用EZ-USB FX2 CY7C68013A进行usb2.0的开发,上位机是MFC程序,使用BeginDataXfer、WaitForXfer、FinishDataXfer向下位机发送2字节数据,但是FinishDataXfer返回false。我使用开发套件里的调试程序CyConsole可以成功发送数据,fpga也接收到了,但是自己写的程序不行。
stly 发表于 2019-10-27 11:03 | 显示全部楼层

楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因
 楼主| ousj 发表于 2019-10-27 11:06 | 显示全部楼层
程序如下:
OVERLAPPED outOvLap;
outOvLap.hEvent  = CreateEvent(NULL, false, false,"CYUSB_OUT");
bool bLooping=true;
bool sucess=false;
unsigned char buffer[2];
LONG  length =2;
buffera[0]=0x01;
buffera[1]=0x01;
for (;bLooping;)
{
UCHAR  *outContext = endpt->BeginDataXfer(buffer, length, &outOvLap);
endpt->WaitForXfer(&outOvLap,200);
sucess=endpt->FinishDataXfer(buffer, length, &outOvLap,outContext);
if(sucess) bLooping=false;
}
CloseHandle(outOvLap.hEvent);
llljh 发表于 2019-10-27 11:08 | 显示全部楼层
你这段不是完整程序吧。

另外一定要用异步的方式么?就2个字节用同步和异步区别也不大。。。
dingy 发表于 2019-10-27 11:10 | 显示全部楼层
根据官方的异步例子自检一下。。。你的endpt是否获取到设备的端点对象。。发送请求是否构造完整,传输方向是否设置正确,等等。一般可能就是那里没注意到
pengf 发表于 2019-10-27 11:14 | 显示全部楼层
我以前用过异步的循环发送512字节,是没问题的。。。
 楼主| ousj 发表于 2019-10-27 11:19 | 显示全部楼层
我使用的是ep2 out进行bulk传输,用endpt = USBDevice->EndPointOf(0X02);得到ep2端点(已经检测到不为空),但是传输返回一直是false。同步的也试过了,返回也是false
supernan 发表于 2019-10-27 11:24 | 显示全部楼层
你再检查一下硬件,是不是buffer已经满了,发不下去了
houcs 发表于 2019-10-27 11:29 | 显示全部楼层
APP发不下去的时候,板子不断电,打开CY的control 用CY的control往下发数据,看看能否发下去
zhaoxqi 发表于 2019-10-27 11:33 | 显示全部楼层
估计是环境设置问题
 楼主| ousj 发表于 2019-10-27 11:36 | 显示全部楼层
搞定了,呵呵
fyfywgcj 发表于 2020-8-15 15:16 | 显示全部楼层

请问怎么搞定的呢
两只袜子 发表于 2023-12-27 09:47 | 显示全部楼层
硬件连接是否正确,没有连接不良或线缆损坏。检查目标设备是否正确连接并已上电。
jcky001 发表于 2023-12-27 09:47 | 显示全部楼层
配置问题,如波特率、数据位、奇偶校验等。
cr315 发表于 2023-12-27 09:49 | 显示全部楼层
驱动或固件问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

712

主题

7557

帖子

1

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