seemann
Mar 22 2007, 23:41
Cypress CyConsole не шлёт файлы размером больше чем ~3kB, сразу выдаёт "Bulk OUT File Transfer failed". файлы меньше шлёт без ошибок, в чём загвоздка понять не могу. в firmware для CY7C68013A ошибки исключаю, т.к. CyBulk шлёт и принимает пакеты без проблем. зараннее благодарю за ответы!
шлет-то, я так понимаю от компа к устройству?
тогда, значицца - ФИФО заполняется, а данные вы не читаете. Результат - ошыбка!
Не вычитываете FIFO... Других вариантов быть не могёт...
seemann
Mar 27 2007, 12:31
нет, в моей firmware для CY7C68013 ошибок не было. иначе бы CyBulk не работал. написал сам короткую аппликуху на C++ и CyAPI, также не работала, пока не догaдался reset'ить Endpoint. привожу код здесь:
CCyUSBDevice *USBDevice = new CCyUSBDevice(hDlg);
CCyBulkEndPoint *BulkOut = NULL;
if(USBDevice->DeviceCount() && !USBDevice->Open(0))
{
USBDevice->Reset();
USBDevice->Open(0);
}
if(USBDevice->IsOpen())
{
int eptCount = USBDevice->EndPointCount();
for (i=1; i<eptCount; i++)
{
if(USBDevice->EndPoints[i]->Address == 0x01)
{
BulkOut = (CCyBulkEndPoint *) USBDevice->EndPoints[i];
->> BulkOut->Reset(); //без этой строчки не работает
break;
}
}
....................
}
пусть тут каждый сам делает выводы.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.