Igoryok 0 12 марта, 2007 Опубликовано 12 марта, 2007 · Жалоба Доброго времени суток всем! Начал осваивать данный микроконтроллер. Начал с того что взял пример от Cypress bulksrc, записал в EEPROM, запустил и с консоли проверил-работает, данные передаются. Но для моих целей нужен изохронный режим. Поменял в примере дескриптор эндпоинта 6 с BULK на ISO, тип IN ,поменял конфигурацию в регистре EP6CFG. размер - 512 байт, буферизация х2. Зашиваю - не работает. В консоли при нажатии ISO trans пишет fail. В чем может быть проблема? Третий день бьюсь-никак. Да, забыл написать-отлака проводится на самодельной отладочной плате, где установлен сам чип, кварц, EEPROM, порты все выведены на разъемы и висят в воздухе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Igoryok 0 12 марта, 2007 Опубликовано 12 марта, 2007 · Жалоба Новое обстоятельство: в режиме FULL SPEED работает, а вот на HIGH SPEED не хочет :angry2: . Причем BULK работает и на HIGH и на FULL. В регистре EP6ISOINPKTS записан 0. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
torik 0 12 марта, 2007 Опубликовано 12 марта, 2007 · Жалоба Не работает потому наверное, что дескрипторы не прописал для HIGH SPEED - в примере bulext можно поглядеть. А на изохронную точку просто поменяв ее тип с BULK на ISO не заработет так просто, я тоже сначала так хотел, но пришел к выводу, что не нужна изохронная точка, булочной хватает и нет проблем с потерей данных. скоко скорости надо? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Igoryok 0 13 марта, 2007 Опубликовано 13 марта, 2007 · Жалоба Сам отвечаю на свой вопрос. Дело было в настройках Console. Пытался считывать один пакет размером 512 байт. После того как поставил количество передаваемых пакетов 8 все заработало. Выяснил случайно. Открыл пример стример, зашил, запустил приложение стример-все работает, показывает 24 мб/сек. Полез в настройки, поставил 1 пакет-пишет ошибка, число передаваемых пакетов должно быть не меньше 8. Опять зашил свой пример, поставил число принимаемых пакетов 8 и все ок! to Torik: дескрипторы я прописал :) (как уже наверное стало ясно). Скорость требуется порядка 3 мб/сек на один девайс, а девайсов к шине подключаться должно несколько. Для меня важна не только скорость, но и время достави пакетов, поэтому выбюрал изохронку. КСТАТИ, вопрос: МОЖНО ЛИ С ДРАЙВЕРОМ CYUSB.SYS РАБОТАТЬ С НЕСКОЛЬКИМИ ПРИБОРАМИ ОДНОВРЕМЕННО? В описании нашел, что open() можно применить только для одного устройства на шине, при этом если есть открытые устройства, то они автоматически закрываются. Правдв ли это? Т. е. получается что больше одного девайса на шину не повесишь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
torik 0 13 марта, 2007 Опубликовано 13 марта, 2007 · Жалоба Буду знать насчет восьми пакетов... спасибо за информацию Насчет драйвера и нескольких устройств не знаю, врать не буду. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Warlord 0 13 марта, 2007 Опубликовано 13 марта, 2007 · Жалоба 2Igoryok Работать с несколькими девайсами можно. Для этого нужно для каждого девайса создать свой класс. В параметрах конструктора указывается GUID девайса, соответсвенно, в inf файле каждой железки перед инсталяцией прописывается индивидульный GUID. Короче читай мануал на CyUSB там это есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться