[an error occurred while processing this directive]
Может под 2000 так и пишет. Нужно поэтапно отлаживать.(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено misyachniy 24 октября 2002 г. 18:48
В ответ на: так он даже не показывает, что устройство подключено. отправлено 333ий 24 октября 2002 г. 17:25

Вот пример обмена:

the hardware is implemented correctly, and you properly initialize the 'D12,
then connect the cable, you should expect to see something similar
to the following sequence of events...

Suspend Change
Suspend change!
Idle time = 1 sec.
Bus Reset
Bus reset!

Ep0_OUT_ISR
RdEp0 Len8 Cnt8 { 80 06 00 01 00 00 40 00 } CLEAR
AckSetupEp0Out, ClrBufEp0Out, AckSetupEp0In
Request Type = Standard, Request = GET_DESCRIPTOR.
WrEp1 16 - { 12 01 00 01 DC 00 00 10 71 04 22 02 00 01 00 00 } VALID

Ep0_IN_ISR
WrEp1 2 - { 00 01 } VALID

Ep0_OUT_ISR
RdEp0 Len16 Cnt0 { } CLEAR

Bus Reset
Bus reset!

Ep0_OUT_ISR
RdEp0 Len8 Cnt8 { 00 05 02 00 00 00 00 00 } CLEAR
AckSetupEp0Out, ClrBufEp0Out, AckSetupEp0In
Request Type = Standard, Request = SET_ADDRESS.
WrEp1 0 - { } VALID

Ep0_IN_ISR

Ep0_OUT_ISR
RdEp0 Len8 Cnt8 { 80 06 00 01 00 00 12 00 } CLEAR
AckSetupEp0Out, ClrBufEp0Out, AckSetupEp0In
Request Type = Standard, Request = GET_DESCRIPTOR.
WrEp1 16 - { 12 01 00 01 DC 00 00 10 71 04 22 02 00 01 00 00 } VALID

Ep0_IN_ISR
WrEp1 2 - { 00 01 } VALID

Ep0_IN_ISR

Ep0_OUT_ISR
RdEp0 Len16 Cnt0 { } CLEAR

Ep0_OUT_ISR
RdEp0 Len8 Cnt8 { 80 06 00 02 00 00 FF 00 } CLEAR
AckSetupEp0Out, ClrBufEp0Out, AckSetupEp0In
Request Type = Standard, Request = GET_DESCRIPTOR.
WrEp1 16 - { 09 02 2E 00 01 01 00 60 01 09 04 00 00 04 DC A0 } VALID

Ep0_IN_ISR
WrEp1 16 - { B0 00 07 05 81 03 10 00 0A 07 05 01 03 10 00 0A } VALID

Ep0_IN_ISR
WrEp1 14 - { 07 05 82 02 40 00 0A 07 05 02 02 40 00 0A } VALID

Ep0_IN_ISR

Ep0_OUT_ISR
RdEp0 Len16 Cnt0 { } CLEAR

Ep0_OUT_ISR
RdEp0 Len8 Cnt8 { 80 06 00 01 00 00 12 00 } CLEAR
AckSetupEp0Out, ClrBufEp0Out, AckSetupEp0In
Request Type = Standard, Request = GET_DESCRIPTOR.
WrEp1 16 - { 12 01 00 01 DC 00 00 10 71 04 22 02 00 01 00 00 } VALID

Ep0_IN_ISR
WrEp1 2 - { 00 01 } VALID

Ep0_IN_ISR

Ep0_OUT_ISR
RdEp0 Len16 Cnt0 { } CLEAR

Ep0_OUT_ISR
RdEp0 Len8 Cnt8 { 80 06 00 02 00 00 09 01 } CLEAR
AckSetupEp0Out, ClrBufEp0Out, AckSetupEp0In
Request Type = Standard, Request = GET_DESCRIPTOR.
WrEp1 16 - { 09 02 2E 00 01 01 00 60 01 09 04 00 00 04 DC A0 } VALID

Ep0_IN_ISR
WrEp1 16 - { B0 00 07 05 81 03 10 00 0A 07 05 01 03 10 00 0A } VALID

Ep0_IN_ISR
WrEp1 14 - { 07 05 82 02 40 00 0A 07 05 02 02 40 00 0A } VALID

Ep0_IN_ISR

Ep0_OUT_ISR
RdEp0 Len16 Cnt0 { } CLEAR

Ep0_OUT_ISR
RdEp0 Len8 Cnt8 { 00 09 01 00 00 00 00 00 } CLEAR
AckSetupEp0Out, ClrBufEp0Out, AckSetupEp0In
Request Type = Standard, Request = SET_CONFIGURATION.
WrEp1 0 - { } VALID

Ep0_IN_ISR

Ep0_OUT_ISR
RdEp0 Len8 Cnt8 { 80 08 00 00 00 00 01 00 } CLEAR
AckSetupEp0Out, ClrBufEp0Out, AckSetupEp0In
Request Type = Standard, Request = GET_CONFIGURATION.
WrEp1 1 - { 01 } VALID

Ep0_IN_ISR

Ep0_OUT_ISR
RdEp0 Len16 Cnt0 { } CLEAR

Ep0_OUT_ISR
RdEp0 Len8 Cnt8 { 81 0A 00 00 00 00 01 00 } CLEAR
AckSetupEp0Out, ClrBufEp0Out, AckSetupEp0In
Request Type = Standard, Request = GET_INTERFACE.
WrEp1 1 - { 00 } VALID

Ep0_IN_ISR

Ep0_OUT_ISR
RdEp0 Len16 Cnt0 { } CLEAR

Your enumeration sequence may be quite different... it changes for different devices,
and from OS to OS. This is one of the reasons I made my comment about your code needing to be "event driven" instead of linear.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru