[an error occurred while processing this directive]
Проблема с отправкой дескриптора на ISP1581
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Seven 03 июня 2006 г. 15:29

Используется связка 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 и снова висну на этой проверке.

Причем сейчас посмотрел, флаг TX в регистре прерываний не выставляется, но снова приходит setup пакет с запросом Device дескриптора. Ничего не понимаю

В чём можеь быть причина?

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

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru