поделитесь опытом у кого он есть конечно...

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Аватара пользователя
Callous
Встал на лапы
Сообщения: 115
Зарегистрирован: Вс апр 20, 2008 16:54:13
Откуда: Украина, Чернигов

поделитесь опытом у кого он есть конечно...

Сообщение Callous »

Суть вопроса заключается в следующем:
Разрабатывал кто-либо полноценные драйвера для своих устройств работающий в среде WinAPI?
1. Если да, то интересует при помощи какого программного обеспечения это делалось, на каком языке программирования?
2. Если можно выложите примеры своих разработок пожалуйста.
3. Особенно интересует написание законченных программ, тобиш с интерфейсом каким либо.
4. Любые способы работы с портами, или просто способы обмена ПК с устройством информацией. ОЧЕНЬ ИНТЕРЕСНО КТОТО ДЕЛАЛ НОРМАЛЬНЫЙ ПОЛНОЦЕННЫЙ ДРАЙВЕР ДЛЯ USB????
5. Ну и вообщем можете писать всё что считаете относится к данной тематике. Возможно порекомендуете литературу или ещё что-то.
Аватара пользователя
Сэр Мурр
Модератор
Сообщения: 11169
Зарегистрирован: Чт окт 27, 2005 18:50:07
Откуда: из мест не столь отдалённых

Сообщение Сэр Мурр »

Упс! Насколько мне известно, никто не делает драйвер для USB, поскольку такой драйвер поставляется изготовителем микросхемы FT232. Используя этот драйвер, создают собственную DLL-ку под конкретное устройство. Наиболее употребимая среда программирования- С++. Но можно любую другую, где есть поддержка устройств USB.
Аватара пользователя
Callous
Встал на лапы
Сообщения: 115
Зарегистрирован: Вс апр 20, 2008 16:54:13
Откуда: Украина, Чернигов

Сообщение Callous »

Я некорректно высказался поповоду драйвера....
Имеется ввиду програма которая бы работала с USB портом.
Аватара пользователя
Пухич
Модератор
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

Разрабатывал кто-либо полноценные драйвера для своих устройств работающий в среде WinAPI?


Нет.

при помощи какого программного обеспечения это делалось, на каком языке программирования?


Для этого есть DDK. Язык - что-либо, окромя Си, в данном случае порнуха.

2. Если можно выложите примеры своих разработок пожалуйста.
3. Особенно интересует написание законченных программ, тобиш с интерфейсом каким либо.


Рекомендую покурить букварь от Руссиновича. Моя первая реакция на эту книгу - лучше я обойдусь без PCI-устройств.

Любые способы работы с портами, или просто способы обмена ПК с устройством информацией.


Их миллион. Ваши условия?
Знание - сила!
Аватара пользователя
Callous
Встал на лапы
Сообщения: 115
Зарегистрирован: Вс апр 20, 2008 16:54:13
Откуда: Украина, Чернигов

Сообщение Callous »

2Пухич
1. Ну то что вы неразработавали такого печально....поскольку несможете подилится оаытом.
2. По поводу DDK я в курсе. Но в данный момент существуют программы которые позволяют разрабатывать довольно простинькие програмы работы с портами (пример HIAsm).
3. Работа с портами из API уже условие........весьма "жирное"!
pirotehnick
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пт фев 08, 2008 13:46:03
Откуда: Воронеж
Контактная информация:

Сообщение pirotehnick »

Писать самому дрова - довольно муторное дело, но если надо, то можно юзать и стандартный ассемблер, если есть опыт конечно.
Все управляющие команды заложенные в дрова проходят через винду, начиная с NT, а в 98 с железом можно было работать напрямую. Обращение и управление драйвером так же идёт через стандартные функции WinApi. Что бы сделать самодельный драйвер для USB надо сначала изучить основные принципы его функционирования, а потом уже разгребать команды для его управления. Вообщем-то по программированию USB написаны целые книги, не думаю что чьи-то примеры тебе сразу помогут.
Что касается hiAsm, то драва на нём уж точно не напишешь.

По поводу портов. Наиболее простое приемлемое решение - это COM, если скорость особо быстрая не нужна. Работать с ним через WinApi достаточно просто, можно найти много примеров.

Вот здесь например:

http://www.piclist.ru/windevprog.html


Здесь довольно хорошо описаны основные азы по этой теме:

http://www.pcports.ru/articles/ddk3.php
Аватара пользователя
asteroid7
Опытный кот
Сообщения: 703
Зарегистрирован: Вс янв 18, 2009 21:12:49

Сообщение asteroid7 »

Callous
Нормально сформулируйте, что с чем Вам надо соединить. А то свалили в кучу слова: среда, WinApi, порт, программа, USB, интерфейс. Исходя из Ваших постов, Вы их не отличаете друг от друга.
WinApi никогда средой не была и нет такого понятия "ДРАЙВЕР ДЛЯ USB". Драйвер пишется для устройства. А USB это интерфейс.
Аватара пользователя
Callous
Встал на лапы
Сообщения: 115
Зарегистрирован: Вс апр 20, 2008 16:54:13
Откуда: Украина, Чернигов

Сообщение Callous »

2asteroid7
То что winapi не является средой в прямом смысле этого слова я прекрасно знаю. С другой стороны именно winapi задает условия программирования и саму методику, исходя из этого я и называю winapi средой.
Конкретной задачи соединить как-либо устройство с ПК по средством USB порта не стоит. По этому я и написал "ДРАЙВЕР ДЛЯ USB" , надо было в конце добавить "УСТРОЙСТВ" дабы не будоражить ваш мозг.
По поводу того что я не отличаю слова:
драйвер несомненно пишется для устройства, но помимо драйвера меня интересует и какая-либо программа работающая в связке с ним.
А вы можете написать или подсказать что-то более полезное кроме замечаний по поводу моих постов?

2pirotehnick
Писать на асме опыт есть, но желания так извращаться нет. Правильно было сказано для этого есть С++ и DDK.
Ставить 98 для прямой работы не вижу смысла. Работать с ком портом работал....правда сам прогу не писал. Обмен шол через терминал. Ну ком порты исчезают из ПК причем очнь быстро, а если девайс надо к ноуту прикрутить, то там речи ни о каком ком порте даже не идет.
По поводу книг:
Пытался читать несколько штук, мутно, мало примеров, местами слишком заумно, да и вообще сложилось у меня впечатление что они содраны с какой-то англоязычной книги...
kalobyte
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Сообщение kalobyte »

драйвер и примеры есть в libusb
писать ты можеш и без винапи с применением сторонних компонентов и на любом языке
pirotehnick
Потрогал лапой паяльник
Сообщения: 327
Зарегистрирован: Пт фев 08, 2008 13:46:03
Откуда: Воронеж
Контактная информация:

Сообщение pirotehnick »

Callous писал(а):меня интересует и какая-либо программа работающая в связке с ним.
А вы можете написать или подсказать что-то более полезное кроме замечаний по поводу моих постов?


Видимо вы так и не посмотрели материал расположенный на сайтах по тем ссылкам что я вам приводил.

Чтож... Попробую ещё раз дать ссылку на данную тематику:

http://www.pcports.ru/Articles.php

Заметьте, там есть раздел программирование драйверов...

Callous писал(а):Ставить 98 для прямой работы не вижу смысла.


А чё я разве говорил что надо ставить 98 винду?

Callous писал(а):Ну ком порты исчезают из ПК причем очнь быстро, а если девайс надо к ноуту прикрутить, то там речи ни о каком ком порте даже не идет.


А всякие там преобразователи USB<->RS-232 типа FT232 просто так делают....да?
Аватара пользователя
abc
Друг Кота
Сообщения: 3678
Зарегистрирован: Чт мар 20, 2008 01:06:40
Откуда: Севастополь

Сообщение abc »

А всякие там преобразователи USB<->RS-232 типа FT232 просто так делают....да?
Поддержу pirotehnick-а.
ТС, почитайте внимательно даташиты на них. Скорость до 3Мбит. Или еще больше надо? А уж программы для них писать, при имеющихся у производителя исходниках - это проще пареной репы. Хоть на Си, хоть в Дельфи, хоть на бейсике.

---
/*с тревогой*/ Или у вас тема курсового "Написание драйвера для USB" ? Ну так мочите препода, ибо нефиг...
Аватара пользователя
Callous
Встал на лапы
Сообщения: 115
Зарегистрирован: Вс апр 20, 2008 16:54:13
Откуда: Украина, Чернигов

Сообщение Callous »

2pirotehnick
ссылку смотрел, по свободе почитаю, пока бегло.
кстати за неё вам спасибо.

2abc
По поводу преобразователей не спорю, но само поняти преобразователь уже вличет дополнительное время на изготовление и т.д. хотя это пока самый разумный вариант.
Нет это не тема курсового и вообще просто мой личный интерес к данной тематике.
Аватара пользователя
Пухич
Модератор
Сообщения: 4673
Зарегистрирован: Вс июн 01, 2008 00:17:35
Откуда: Я всего лишь плод вашего воображения...

Сообщение Пухич »

Ну то что вы неразработавали такого печально....поскольку несможете подилится оаытом.


Что ж поделать. Книга Руссиновича отбила во мне такое желание.

Но в данный момент существуют программы которые позволяют разрабатывать довольно простинькие програмы работы с портами


Эти простенькие программы позволяют разработать "программы работы с портами", или драйвера?

Работа с портами из API уже условие........весьма "жирное"!


Из ВинАПИ очень удобно можно работать с ЛПТ-портом и КОМ-портом. Вас это устраивает?


Еще раз спрошу - вы действительно нуждаетесь в разработке драйверов для неких устройств? Если да, то вам надо знать логику работы вашего устройства (с этим вам никто не поможет) и уметь использовать стек драйверов интерфейса, по которому идет обращение к вашему устройству (здесь надо читать много сложных букварей, либо, как тут уже советовали, юзать попсовые либы, что не всегда хорошо).
Знание - сила!
Аватара пользователя
Callous
Встал на лапы
Сообщения: 115
Зарегистрирован: Вс апр 20, 2008 16:54:13
Откуда: Украина, Чернигов

Сообщение Callous »

Ну хотелось бы всёже USB. Поповоду книг, штудирую....кстати желание разбираться с ентим тоже таит :( хотя пока еще не так быстро...
В том то и дело, что простенькие проги не позволяют писать драйвер, просто программы работы с портами.... помнится видел написанный на какой-то проге прием и сохранение в лог данных с ком порта, такой себе жалкий терминал.
Я не нуждаюсь в данный момент в разработке драйверов, я пытаюсь с этим разобраться.
pro_grammer
Первый раз сказал Мяу!
Сообщения: 20
Зарегистрирован: Ср ноя 26, 2008 11:45:19

Сообщение pro_grammer »

С точки зрения прикладного программиста, наибольший интерес представляют драйвер класса (Class Driver) и интерфейс обращения к этому драйверу. Здесь операционная система Windows делает еще один шаг на пути унификации интерфейсов. Все USB-устройства делятся на группы, согласно общим свойствам, выполняемым функциям и требованиям к ресурсам Для каждой группы устройств Windows предоставляет готовый драйвер, который автоматически устанавливается при обнаружении принадлежности устройства к одной из групп. Таким образом, в большинстве случаев никаких дополнительных драйверов не требуется.
Список основных поддерживаемых типов устройств
(Windows 2000/XP)

Хабы (Hub Device) hubclass.sys
НID-устройства (Human Inter- hidclass.sys Мыши, клавы,джойстики
face Device)

Устройства хранения данных usbstor.sys

Принтеры (Printer) usbprint.sys

Устройства коммуникации mdismp.sys,
(Communication)

usb8023.sys,
другие

Для работы с нестандартными устройствами можно также воспользоваться одним из системных драйверов. Чаще всего пользуются HID-драйвером.Так что определитесь, что надо конкретно.
Конкретное приложение под WIN, включающее ввод-вывод и отчеты работы с устройством с использованием HID драйвера можно скачать тут:
http://www.lvr.com/hidpage.htm

Написано на разных языках программирования - VB6,VB.NET,C#,C++
Аватара пользователя
Callous
Встал на лапы
Сообщения: 115
Зарегистрирован: Вс апр 20, 2008 16:54:13
Откуда: Украина, Чернигов

Сообщение Callous »

pro_grammer спасибо вам. Весьма дельная информация, а главное понятная.
Ответить

Вернуться в «Интеграция с ПК»