Здраствуйте. Использую CYC68013A чип для обмена данными между устройством и PC.PC шлет пакет размером 512 байт используя bulk transfer (IOCTL_EZUSB_BULK_WRITE). Драйвер ezusb.sys. Чип сконфигурирован в режиме SlaveFifo. Проблема в том что третья отсылка подвешивает функцию DeviceIOControl и управление не возвращается. Для двух успешных отсылок прерывание на чипе просходят и на третьей нет. Я посмотрел софтварным USB сниффером.При успешных передачах каждый раз уходят два пакета:один с данными а другой сниффер показыват как "Bulk transfer succeded". При третьей передаче уходит только пакет с данными а пакета "Bulk transfer succeded" нет. В связи с эти вопрос,сколько пакетов уходит при bulk transfer и кто отвечает за второй пакет подтверждения? Сам чип или драйвер PC?Должен ли чип подтверждать успешность приема?
|