Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Isochronous endpoints (USB)  (Прочитано 7259 раз)
0 Пользователей и 1 Гость смотрят эту тему.
golubenko_d
Гость
« : 25-04-2009 06:05 » 

С usb работаю следующим образом. PIC18F2550 (USB Device - MCHPUSB - Generic Driver Demo) и пример из DDK2003 bulkusb.
Драйвер я не изменяю, так как в прогаммировании драйверов я дилетант.
Встал вопрос в использовании изохронной передачи.
На шару не получилось isousb передает один пакет и все... Проблема в драйвере, а не в ПО МК. Перезагрузка драйвера, позволяет передать еще один пакет.
Чтение соответствующего раздела у Они мне не помогло(Так как читать нужно не соответствующий раздел, а сначала ).
Использую Read/WriteFile, может этого недостаточно при изохронных передачах?
PS Использование usbsamp из WDK, не помогло симптомы те же.
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 26-04-2009 08:16 » 

вы взяли  неправильный пример. builkusb - это другой режим USB передачи одиночных пакетов с подтверждением (builk режим).
возьмите пример работы с изохронным режимом -
DDK\6001.18001\src\usb\isousb
или он же:
DDK\3790.1830\src\wdm\usb\isousb
« Последнее редактирование: 26-04-2009 08:35 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
golubenko_d
Гость
« Ответ #2 : 26-04-2009 15:23 » 

Я может не понятно выразился, но я для изохронного режима использую isousb, с его помощью мне и удается передать лишь один пакет. А дальше тишина.
Используя WINDDK\6001.18002\src\kmdf\usbsamp, который работает и с bulk и isochronous типами передачи, получаю все тоже, с bulk работает, а isochronous один пакет и все.

В isousb есть следующие запросы.
IOCTL_ISOUSB_GET_CONFIG_DESCRIPTOR 
IOCTL_ISOUSB_RESET_DEVICE           
IOCTL_ISOUSB_RESET_PIPE         
IOCTL_ISOUSB_STOP_ISO_STREAM       
IOCTL_ISOUSB_START_ISO_STREAM       
IOCTL_ISOUSB_SELECT_ALT_INTERFACE   

Была надежда на START/STOP потоки... Но либо я не так с ними работаю... Но ничего не получилось, тем более
в usbsamp запросов для работы с потоками нет.
IOCTL_USBSAMP_GET_CONFIG_DESCRIPTOR
IOCTL_USBSAMP_RESET_DEVICE       
IOCTL_USBSAMP_RESET_PIPE
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 26-04-2009 20:23 » 

еще... если есть время поковыряться пол дня-день. попробуйте взять DriverStudio 3.2
запустить визард драйвера на чистом!!! Си. там генерится неплохая полнофункциональная  рыба драйвера с exe-шником примера работы.
но студия старая - возможно там какая то засада с USB могла быть. под висту.
а может и заработает)
если время будет постараюсь глянуть пример...но не обещаю)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
golubenko_d
Гость
« Ответ #4 : 27-04-2009 12:36 » 

У меня отпуск внеплановый. Займусь изучением драйверов. И тогда уже с конкретными примерами, конкретные вопросы. А пример из студии прямо сейчас попробую Ага
Спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines