|
|
Пишу сейчас ПО на USBN9604, руководствуясь firmware для оценочных плат
National Semiconductor на микросхемах USBN9602, USBN9603 и ещё другими документами. В datasheet на USBN9604 для бит регистра RXS0: RX_LAST, TOGGLE, SETUP сказано: This bit is unchanged for zero length packet.
Вместе с тем в firmware в подпрограмме rx_0(); есть кусок кода, который реагирует на приём OUT zero length packet. В нём ещё проверяется корректность принятого пакета:
if ((rxstat& 0x5F)!=0x10) // length error??
У меня два вопроса:
1) как могло возникнуть прерывание, если RX_LAST не изменяется при приёме zero length packet?
2) если проверять PID, то почему такая маска 0x5F ? Интересует цифра 5
Если кто может помочь --- буду искренне рад!
С Уважением,
Игорь Лапшин
E-mail: info@telesys.ru