Накрапал примитивную программу в Билдере 6. Читаю и записывваю в файл так:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
LONG len = 512*64;
unsigned char* InBuf = new unsigned char[len];
USBDevice->BulkInEndPt->SetXferSize(1000000);
USBDevice->BulkInEndPt->TimeOut=1000;
while (iStart)
{
if(USBDevice->BulkInEndPt) USBDevice->BulkInEndPt->XferData(InBuf,len);
FileWrite(FileHandle, InBuf, len);
Application->ProcessMessages();
}
}
Выявилась интересная особенность - в начале записи, записавши первые 2047 байт идет какой-то сдвиг и данные изменяются,
но потом все нормализуется ( См. рис ).
Я так понимаю что это как-то связано с буфером точки EP2. Как устранить этот сдвиг? Мне важно данные получать без этого разрыва в начале.
Спасибо!
Сообщение отредактировал SNR - Aug 8 2012, 14:40
Эскизы прикрепленных изображений