FastSoft >Не пойму - они через UART сделали USB-интерфейс? PD0/RXD,PD1/TXD - не задействованы, следовательно не через UART. >Какие-то струкруты.. Сама шина подразумевает структуры - дескрипторы всякие там... Насчёт какие доки вкуривать - есть вот такой перевод спецификации USB 1.1 на русский: http://rs232.ru/docs/usb/usb_rus.zip но я бы не советовал. Лично мне понятнее было на английском спецификацию читать (оч некачественный перевод). Статейка для ознакомления: http://www.rrelaxo.org.ru/muxx/usb/usb.brief.html Ну а порядок глав при изучении спецификации для меня удобен был: 4,5,8,9. 4 - обзор 5 - введение в программную (логическую) модель usb 6,7 - механическая, электрическая главы - неинтересно. 8 - формат пекетов, типы транзакций - самая полезная и интересная глава, IMHO 9 - О дескрипторах и возможных логических состояниях шины - её лучше читать после 8 главы - или можно сильно запутаться что есть что. кроме usb.org вот ещё оч полезная ссылка http://beyondlogic.org
FastSoft почитай туториалы izcelion'a насчёт программирования под винду - это на асме а вообще - рихтера
Дайте наводку на рихтера, не пойму о чем вы.. Значит так.. Мне стало понятно, что в принципе нормальный не психованный и не чокнутый человек способен через две ноги, при отсутствии аппаратной поддержки USB реализовать протокол USB. Причем мой тамтарарам заключается в том, что оказывается у виндов всех мастей существует некий HID (Устройства взаимодействия с Человеком), имеющийся в 98, XP. Это все, что надо. И этот HID, предполагает работу с мышами, джойстиками и клавами через драйвера, имеющиеся на борту перечисленных виндов (на неполноту списка плевать). Остается понять, как кодить под виндой этот HID. Устройства HID, реализующие аппаратно USB (мыша, клава) как везде написано, достаточно просты и тупы. Остается как я понимаю, реализовать устройство, подражающее джойтику, которое посылает данные в комп по вседжойстиковому протоколу и приложение под винду, которое будет притворятся тетрисом, которому нужен джойстик, а на деле юзать принятые данные. Вот что нового я узнал за эту ноч под Chemical Brothers и Infected Mushroom (; Что скажете? Кто знаком с HID? Borlandmaster@mail.ru Pavel.
Если mp3 плеер будет косить под джойстик с ним мягко говоря будет не удобно работать. Здесь нужно использовать режим шины bulk (см спецификацию), а джойстик использует режим interrupt. Самое лучшее решение (IMHO) - это использовать класс устройств usb mass storage. Никаких проблем с winXP/2000, Linux. Под win98 плохо что нужно будет ставить драйвер, а хорошо что подойдёт любой драйвер от флешки (каких навалом) - нужно будет только чуть-чуть изменить инфик. И кста, вряд ли получиться bulk из мк.контроллера не поддерживающего usb. Одним словом есть над чем подумать.
Задаю вопрос к последнему предложению предыдущей мессаги - ПОЧЕМУ? Джойстик я привел в качестве примера устройств HID вообще и мне неинтересно в данный момент, как он там работает. Мне нужна такая ситуация, когда устройство работает в 98 и в XP без сторонних драйверов.
>Если mp3 плеер будет косить под джойстик с ним мягко >говоря будет не удобно работать. Здесь нужно использовать >режим шины bulk (см спецификацию), а джойстик использует >режим interrupt. Почему неудобно? Если такой плеер бы существовал, был бы специальный софт к нему. Этот софт бы брал все трудности на себя, а пользователю были бы видны элементы управления для заливания музона. Я ведь не задумал создать голое устройство и сказать людям "юзайте, только дров я вам не дам". Конечно я должен написать софт, который пользуясь HID скрывал бы джойстиковое происхождение моего девайса, давая пользователям хороший интерфейс. ПОнятное дело, что джойстик - неудачный пример, и для передачи нужно будет слишком часто генерировать прерывания, как я понимаю. Пусть это будет не джойстик, мне все равно. Не вы же у меня спрашиваете, а я у вас >Самое лучшее решение (IMHO) - это >использовать класс устройств usb mass storage. Никаких >проблем с winXP/2000, Linux. КОнечно это замечательно, но допустим винда найдет диск. И давай его форматировать под фат, да? Или пользователь полезет в него и повисла система на пять минут. (Я пральна говорю?) >Под win98 плохо что нужно >будет ставить драйвер, а хорошо что подойдёт любой >драйвер от флешки (каких навалом) - нужно будет только >чуть-чуть изменить инфик. Ну... Не знаю, спасибо за информацию.. Я бы с удовольствием пообщался с вами, уважаемая общественность, по ICQ 297566544. Плоды бесед обещаю в переработанном виде выкладывать здесь. Спасибо. P.S. Вот скоро настанет время, когда нужно будет кодить под винду HID, но я плохо пишу под нее. А хочу на асме, в силу чистоты кодинга. Мне сейчас нужны основы. Как вызывать API с параметрами, как в могзу преобразовывать сишные, дельфийные описания API в асмовые их вызовы. _1890587290__keilvision_avatar.PNG
рихтер - "Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows" можно довольно легко найти в электронном виде насчет асма под винду - там есть всё что нужно http://www.wasm.ru/publist.php?list=1
FastSoft что просил , то и получил насчёт почитай любую статью про calling conventions или по русски соглашения о вызове
FastSoft апи довольно много , но если ты считаешь , что тебе нужно именно это пожалуйста http://msdn.microsoft.com/ можно также хелпак от дельфи взять , там win32 api help тоже есть правда не полный и староватый но тебе хватит ... на несколько лет
staier>... на несколько лет Через 1.5 года начал замечать ошибки. Хотя он удобен для начнающего. FastSoft В пакете Visual Studio это называется MSDN
FastSoft просил апи - пожалуйста лучше просто руководство по программированию в винде тот же iczelion или рихтер книга достаточно полно отражает принципиальные моменты негуёвого программирования под винду
FastSoft >Задаю вопрос к последнему предложению предыдущей мессаги - ПОЧЕМУ? Сецификация USB 1.1 глава 5.8.4: Bulk transfers can be used only by full-speed devices. Вряд ли твой avr сможет работать с шиной на частоте 12 МГц. Почему именно bulk? - потому что IMHO самый подходящий класс для твоей штуковины это USB mass storage. Специально искал оказалось что таких классов есть 2. http://www.usb.org/developers/devclass_docs/usbmassbulk_10.pdf http://usbat2.sourceforge.net/usbmass-cbi10.pdf Первый это bulk only. Второй - Control/Bulk/Interrupt, который требует поддержки минимум трёх EP - contol, bulk in, bulk out. Так что без bulk здесь не обойтись. Поэтому надо или usb периферию навешивать или под другое устройство заделаться или драйвер свой писать... >И давай его форматировать под фат, да? Или пользователь полезет в него и повисла система на пять минут. (Я пральна говорю?) с флешками таких проблем вроде нет.
Пошукай через гугл яндекс - IDE-USB или HDD-USB. Там на 8051 сделан контроллер для подключения к USB, как masstorage, напрямую.
http://www.radioland.fatal.ru/Schems/Digital/computers/22.htm HDD - USB: Схема, прошивка контролерра, драйвер USB
Привет всем. В общем стало понятно (ну давно еще), что реализовывать программно USB-интерфейс "через 2 ноги AVR-ки" весело но слишком много дзена для такого малодзенодостойного дела и лучше юзать спецмикросхему. А какие интерфейсные микросхемы общепризнаны? Что они могут? Могут ли они произвести инициализацию самостоятельно и как вообще с ними работать? Ну то есть чо это ваще такое, м? <- вопрос для тех, кто юзал конечно.