Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с отправкой дескриптора на ISP1581
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
SevenF
Используется связка ISP1581+T89C51CC02. Получаю пакет setup, запрос дескриптора Device, отправляю и жду установки флага об окончании передачи. В трети случаев на этой проверке и зависаю, т.е. флаг не устанавливается. Вот текст программы:
switch (descriptor_type)
{
/* дескриптор устройства */
case DEVICE:
{
data_to_transfer = sizeof(usb_device_descriptor);
pbuffer = &(usb_device_descriptor.bLength);

Set_index(1);

Len_LSB(0x12);
Len_MSB(0);

while(data_to_transfer!=0)
{
Usb_write_byte(*pbuffer);
pbuffer++;
data_to_transfer--;
}

while(!(USB_INT2.VALUE&MSK_EP0TX));///////////Зависаем здесь

USB_INT2.BITS.EP0TX=0;

Set_index(0);

Usb_set_CONTROLFUN(2);

break;
}

Часто проскакиваю, получаю set Adress, устанавливаю, получаю setup с запросом дескриптора Device и снова висну на этой проверке.

В чём можеь быть причина?
SevenF
Причем сейчас посмотрел, флаг TX в регистре прерываний не выставляется, но снова приходит setup пакет с запросом Device дескриптора. Ничего не понимаю sad.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.