阅读:1099回复:0
由VCC++写的关于FX2例程遭遇到读写错误问题请教!
我用的是钱峰做的开发板,在做BULKLOOP测试时候,我加了一些观察点来打印调试信息!碰到问题如下:
1,在没有屏蔽任何语句的情况下,程序卡在 if (gEndpointSelect != INONLY) WaitForSingleObject(WriteCompleteEvent,INFINITE); 无法继续执行 2,我以为是写线程有问题,于是就屏蔽了有关写的语句,如: /* if (gEndpointSelect != INONLY) _beginthread(TransferThread,0,&outThreadControl); */ 仍出现错误,"Error: Read failed" 这里,所来源是代码是 if (gEndpointSelect != OUTONLY && !inThreadControl.status) { SendMessage (hOutputBox, LB_ADDSTRING, 0, (LPARAM)"Error: Read failed"); SendMessage (hOutputBox, LB_ADDSTRING, 0, (LPARAM)"Dumping OUT packet to file"); dumpfile = fopen("c:\\dumpfile.txt","w"); for (i=0;i<CurrentTransferSize;i++) fprintf(dumpfile,"%X\n",outBuffer); fclose(dumpfile); binfile = fopen("c:\\binfile.bix","wb"); fwrite(outBuffer,sizeof(BYTE),CurrentTransferSize,binfile); fclose(binfile); gStopTest = TRUE; } 那么我推测是inThreadControl.status已经为FLASE了,可是我觉得既然读线程完了,应该是TRUE了啊? 不知该如何解释以上现象! |
|