Показать сообщение отдельно
Старый 10.04.2014, 02:17   #2
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Железный тред. Станок с нуля.

Сообщение от mr.DIMAS Посмотреть сообщение
"Ну это тупизм" - подумал я, и нарыл чудо библиотеку Inpout32. В ней всего две важные функции - Out32 и In32( нам не нужен ). И процесс пошел - поморгал светодиодами подцепленными на шину данных. Кароч успех.
Меня никто не спрашивал, но не могу промолчать про LаPTи
Пару слов о LPT:
1) Было просто программировать под Win 9x, затем (из соображений безопасности) прямую работу с памятью порта выгородили за дрова.
_outp
2) В NT-ях можно решить проблему и альтернативно, используя готовые библиотеки типа inpout32.dll
Out32
2.2) Другой вариант - использование драйвера GiveIO.sys, снимающего запрет для пользовательских приложений на прямую запись/чтение в порт/из порта. Можно испытать неудобство от собственноручной интеграции системного объекта такого уровня в ОСь: правка ветки реестра, добавление в системную директорию. Зато фигачить работу с портом можно хоть в асм-вставке.
_outp
2.3) С интеграцией функционала inpout32.dll могут возникнуть некоторые проблемы. Уж не помню - в формате библиотеки импорта была проблема или ещё чего, но в итоге для MinGW я решил проблему реализовав динамическую загрузку библиотеки (LoadLibrary / GetProcAddress).
На всякий случай деклс для блитца:
.lib "inpout32.dll"
LPT_WRITE(port%,val%):"Out32"
3) Отдельной проблемой может оказаться поиск компа с рабочим LPT. USB-LPT адаптеры не гарантирую счастья низкоуровневой работы (из-за "абстракции" в работе с адресами), а WriteFile() не всегда обеспечивает необходимые возможности (ситуацию может спасти PCI-LPT переходник).
4) Если вам лень идти в магазин или там таких раритетов нет, то LPT-удлинитель (для Data-секции разъёма, например) вполне можно сделать из Ethernet-кабеля (необходимо учесть заземление, и вообще - на свой страх эксперимент)
Нажмите на изображение для увеличения
Название: lptdata_ethernet.jpg
Просмотров: 1111
Размер:	105.9 Кб
ID:	20380
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
mr.DIMAS (10.04.2014)