但是我用DC3.2编写驱动后,把驱动安装上。然后运行向usb发生命令的程序,程序部分代码如下:
UCHAR ch[]={0x00,0xfd,0x00,0x00,0xff,0x06};//0x03,0x03};//
OVERLAPPED inOvLap;
inOvLap.hEvent = CreateEvent(NULL, false, false, "CYUSB_IN");
inData=new unsigned char[length]; long lengthout=6; // 为什么这里不能用
long length=sizeof(ch);
CCyBulkEndPoint *BulkOut=NULL;
BulkOut=(CCyBulkEndPoint *)USBDevice->EndPoints[4];
BulkOut->XferData(ch,lengthout);
USBDevice->BulkOutEndPt->XferData(ch,lengthout);
但是执行到BulkOut=(CCyBulkEndPoint *)USBDevice->EndPoints[4];这句话时,DC3.2的SoftICE界面就会出现,说是“unhandled exception NTSTATUS=STATUS_ACCESS_VIOLATION
我是写硬件的,不知道如何写软件,所以向大家请教一下,这个驱有什么问题呢? |