打印

cy68013A 上位机通信

[复制链接]
2264|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qinshanqinshan|  楼主 | 2013-4-26 21:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
int GetImage(CCyUSBDevice * Camera, UCHAR ** image, int size)
{
int i;

CCyControlEndPoint * ctrlPoint = Camera -> ControlEndPt;

ctrlPoint -> Target = TGT_DEVICE;
ctrlPoint -> ReqType = REQ_VENDOR;
ctrlPoint -> Direction = DIR_TO_DEVICE;
ctrlPoint -> ReqCode = 0xa8;
ctrlPoint -> Value = 0;
ctrlPoint -> Index = 0;
PUCHAR ctrlBuf = new UCHAR;
PUCHAR buf = (PUCHAR)image;
LONG length = 0;

CCyBulkEndPoint * BulkIn = NULL;

int eptCount = Camera -> EndPointCount();

for (int i = 1; i < eptCount;  i++)
{  
bool bIn = Camera -> EndPoints -> bIn;  
bool bBulk =  (Camera -> EndPoints -> Attributes == 2);  

if (bBulk  && bIn) BulkIn = (CCyBulkEndPoint *) Camera -> EndPoints;  
   }  

int packageNum = 4;
BulkIn ->SetXferSize(size / packageNum);
LONG packageSize = size /packageNum;
if (size % packageSize) packageNum ++;

OVERLAPPED inOvLap[8];
UCHAR * inContext[8];
LONG recieveNum[8];
int totalNum= size;

for (i = 0; i <packageNum; i++) inOvLap.hEvent = CreateEvent(NULL, false, false, NULL);

for (i = 0; i < packageNum; i++)  
{
inContext = BulkIn -> BeginDataXfer(buf, packageSize, &inOvLap);
buf += packageSize;
}

ctrlPoint -> XferData(ctrlBuf, length);

for (i = 0; i < packageNum; i++)  
{

if(!BulkIn -> WaitForXfer(&inOvLap, 120))  
{  
BulkIn->Abort();
            WaitForSingleObject(inOvLap.hEvent,INFINITE);
};
}
buf = (PUCHAR)image;
for (i = 0; i < packageNum; i++)
{
BulkIn -> FinishDataXfer(buf, (LONG &) recieveNum, &inOvLap, inContext);
totalNum -= recieveNum;
CloseHandle(inOvLap.hEvent);
buf += packageSize;
}

return totalNum;
}
运行时,那句出错,提示是:Unhandled exception at 0x00414a99 in camera.exe: 0xC0000005: Access violation reading location 0x00000004.
沙发
qinshanqinshan|  楼主 | 2013-4-26 21:54 | 只看该作者
为什会出错呢,那是源码啊、、、、、、、

使用特权

评论回复
板凳
小工程师| | 2013-5-14 17:14 | 只看该作者
CY最新的上位机的源码是在Microsoft Visual Studio 2008环境开发的,如果你是VC++6.0环境,可能存在问题.
建议使用Microsoft Visual Studio 2008,或者以后版本Microsoft Visual Studio 2010.

使用特权

评论回复
地板
qinshanqinshan|  楼主 | 2013-5-20 19:25 | 只看该作者
你也在做这个吗?我是在读研究生,QQ:472318061,多多交流下吧~

使用特权

评论回复
5
kk5290122| | 2013-5-22 07:57 | 只看该作者
上面的提示是说访问了非法的位置…………

使用特权

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

本版积分规则

1

主题

9

帖子

0

粉丝