ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
56345 Топик полностью
Котик (07.04.2006 07:22, просмотров: 1) ответил LazyCamel на Ответ: Прав был Лозинский - лишние знания дуракам только помеха... Детали внутри.
При всем уважении и usb2 читал и в ореховой скорлупе читал Инициируемм ендпойнты пралльно по спецификации (изменяем пример, добавляем ендпойнт с соответствующими параметрами):

	/* Endpoint 1 descriptor */
	0x07,   // bLength
	0x05,   // bDescriptorType
	0x00 + EP_NUMBER_OUT,   // bEndpointAddress, Endpoint 01 - OUT
	0x03,   // bmAttributes      INT
	0x20,   // wMaxPacketSize
	0x00,
	0x0A,    // bInterval

        /* Endpoint 2 descriptor */
	0x07,   // bLength
	0x05,   // bDescriptorType
	0x80 + EP_NUMBER_IN,   // bEndpointAddress, Endpoint 01 - IN
	0x03,   // bmAttributes      INT
	0x20,   // wMaxPacketSize
	0x00,
	0x0A    // bInterval

И что же мы видим в функции енумерации:
if (wIndex == 1)
  pUDP->UDP_CSR[1] = (AT91C_UDP_EPEDS | AT91C_UDP_EPTYPE_BULK_OUT);
  else if (wIndex == 2)
   pUDP->UDP_CSR[2] = (AT91C_UDP_EPEDS | AT91C_UDP_EPTYPE_BULK_IN);
   else if (wIndex == 3)
     pUDP->UDP_CSR[3] = (AT91C_UDP_EPEDS | T91C_UDP_EPTYPE_ISO_IN);
AT91F_USB_SendZlp(pUDP);
Замечу, что ни EP2, ни EP3 в примере не пользуются, а тип EP2 в регистрах контроллера при прохождении программы по некоторым веткам меняется. До приведения в соответствие кода, так ничего толком и не заработало. ЗЫ1: Почему неделю ? Потому что по обеденным перерывам :) ЗЫ2: Таки непонятно, не разу не видел от вас вопросов ЗЫ3: До этого делал аналогичную еконфигурацию на пик18м контроллере ЗЫ4: На счет баранов, новых ворот и космической глупости я бы поосторожнее высказывался :)