Цитата(jcxz @ Dec 22 2014, 14:09)

Ну если получаете фреймовые прерывания, тогда разве трудно поставить туда бряк и посмотреть - что у Вас в этом прерывании делается - отправляется-ли изохронный кадр?
Чем бряк поможет? Аппаратную часть из программы не видно, остаётся наслово верить руководству, что пакет оправляется при очередном прерывании фрейма после проверки буфера. Я ожидаю увидеть свои байты в мониторе USBTrace. Как ещё можно увидеть, что кадр отправлен? Если только через какие-то флаги смотреть, но в конечном итоге нужно увидеть принимаемые данные на компе в мониторе.
12.14.3 Data transfer for IN endpoints
When writing data to an endpoint buffer, WR_EN (Section 12.10.4.5 ”USB Control
register”) is set and software writes to the number of bytes it is going to send in the packet
to the TxPLen register (Section 12.10.4.4). It can then write data continuously in the
TxData register.
When the number of bytes programmed in TxPLen have been written to TxData, the
WR_EN bit is cleared, and the TxENDPKT bit is set in the DevIntSt register. Software
issues a Validate Buffer (Section 12.12.14 ”Validate Buffer (Command: 0xFA, Data:
none)”) command. The endpoint is now ready to send the packet. For IN isochronous
endpoints, the data in the buffer will be sent only if the buffer is validated before the next
FRAME interrupt occurs; otherwise, an empty packet will be sent in the next frame. If the
software clears WR_EN before the entire packet is written, writing will start again from the
beginning the next time WR_EN is set for this endpoint.
Both RD_EN and WR_EN can be high at the same time for the same logical endpoint.
Interleaved read and write operation is possible.
Сообщение отредактировал ДЕЙЛ - Dec 22 2014, 11:13