//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <cyapi.h> #include "Unit1.h" #include <iError.h> //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; CCyUSBDevice* dev; GUID CypGuid = {0xae18aa60, 0x7f6a, 0x11d4, 0x97, 0xdd, 0x0, 0x1, 0x2, 0x29, 0xb9, 0x59}; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { dev = new CCyUSBDevice(0,CypGuid,1); int MaxDevCount = dev->DeviceCount(); for(int DevCount=1;DevCount<=MaxDevCount;DevCount++) { dev->Open(DevCount); dev->Reset(); } } //--------------------------------------------------------------------------- void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action) { dev->Close(); dev->~CCyUSBDevice(); } //---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender) { #define BUFFER_SIZE 62 #define TIMEOUT 1000 long len = BUFFER_SIZE; unsigned char* OutBuf = new unsigned char[BUFFER_SIZE]; memset(OutBuf,0xAA,BUFFER_SIZE); unsigned char* InBuf = new unsigned char[BUFFER_SIZE]; memset(InBuf,0x00,BUFFER_SIZE); CCyIsoPktInfo* inf = new CCyIsoPktInfo; CCyBulkEndPoint* OutEP = new CCyBulkEndPoint; CCyBulkEndPoint* InEP = new CCyBulkEndPoint; OutEP = (CCyBulkEndPoint*)dev->EndPointOf(0x02); InEP = (CCyBulkEndPoint*)dev->EndPointOf(0x86); OutEP->TimeOut = 1000; InEP->TimeOut = 1000; OutEP->XferData(OutBuf,len,inf); InEP->XferData(InBuf,len,inf); for(int i=0;i<BUFFER_SIZE;i++) { Form1->Memo1->Lines->Add(IntToStr(i)+"-"+IntToStr(InBuf[i])); } } //---------------------------------------------------------------------------
В общих чертах вот он код. Где тут ошибка или Что надо добавить? Посмотрел примеры на C#.Реализовал (на C++, так как C# не знаю) вроде как там (с точки зрения сути). Вобщем опять устройство обнаруживается, но обмена нет(
|