Hello Crusher,
Monday, May 30, 2005, 10:21:10 PM, you wrote:
C> В части возможных возникающих при программировании проблем, наверное,
C> всё очень похоже. У меня был опыт программирования обмена по USB с
C> устройством, интерфейс USB которого был построей на м/сх FT245BM фирмы
C> FTDI. Драйвер для FT245BM под windows (а именно там всё и происходило)
C> предоставляет интерфейс, имитирующий интерфейс файлового ввода/вывода
C> windows. Так что проблема адаптации кода в данном случае сводилась к
C> переименованию вызываемых функций :) Так же, существует версия драйвера,
C> создающего в ОС виртуальный COM-порт, в этом случае совсем всё просто,
C> но недоступна пиковая пропускная способность шины, обеспечиваемая первым
C> вариантом доступа к USB.
Цитата: "Драйверы виртуального COM-порта (VCP) организуют в системе
фантомный последовательный порт (в дополнение к существующим
аппаратным), и переадресуют все обращения к нему в прямые запросы
непосредственно оборудованию. Программное обеспечение взаимодействует с
USB-устройствами через стандартные вызовы <... поскипано ...>
Драйверы для Linux созданы сторонними разработчиками и включены в ядро
начиная с версии 2.4. Более подробную информацию можно получить
http://ftdi-usb-sio.sourceforge.net/ "
Так что под Linux такое есть тоже.
Вопрос только в одном: когда оно необходимо?
C> Проблема реализации протокола обмена программистом "вручную" состоит в
C>
C> <... поскипано ...>
C>
C> передающих сторон, но и то, как это взаимодействие выстроено во времени.
C> Извините, "понесло"... :)
Да ничего страшного... :)) Пусть "носит" сколько душе угодно...
Проблема понятна... В конкретном случае может, наверное, решаться
средствами Open Source - можно попытаться отыскать примеры исходников
для реализации протокола. Можно порекомендовать тот же koders.com.
C> Может быть стоило сразу попробовать взяться сначала за реализацию одного
C> варианта, а затем - другого, глядишь, в процессе, все "метания" и
C> прекратились бы...
Да. Если бы речь шла обо мне. Я бы делал как удобнее мне. Но
описать-то надо в сравнении с другими вариантами. Вот поэтому и была
идея обсудить-посмотреть...
C> Могу предложить вариант для windows... Сразу извиняюсь за оффтопик,
C> учитывая название конференции :)
C> Один из вариантов такой:
C> На одном из языков программирования (например С++) пишется библиотека
C> для работы с портом, которая представляет собой COM-объект. Далее, на
C> скриптовом языке (VBScript/JavaScript) пишется целевая программа,
C> которая создаёт экземпляр объекта библиотеки, и работает с портом.
Под Lin такое тоже может делаться. Может даже можно готовый COM-объект
поискать... хотя по-моему COM - технололгия Мелкомягких... :)) Может
опять что-нибудь закрыто... Может CORBA лучше? Хотя не суть...
Итак, по-моему, пришло время внести задачу в студию, дабы не толочь
воду в ступе, ибо нефиг..:
Устройство представляет из себя микроконтроллер семейства MSP430 от
Texas Instruments с двумя UART. Он [микроконтроллер] занимаетяся
сбором информации о колебаниях исследуемой системы, формируя при этом
массив данных, который и надо пересылать на компьютер для дальнейшей
обработки. Предполагается для этого использовать RS-232, ОС - linux,
язык разработки - C (или Ada).
Вопрос: чем такой вариант хуже или лучше какого-либо другого? При том
что время выполнения этой операции не критично.