IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   Програмирование LPT (help!) (http://www.imho.ws/showthread.php?t=18448)

Gike 21.12.2002 23:02

Програмирование LPT (help!)
 
подскажите пожалйста как програмировать LPT порт .
Скажем : подать на 1 ножку 1.5 V , на 5 -ю 0.78V и т.д.

P.S. числа не имеют значения , читай - "подать на x ножку y Вольт"...

dr-evil 22.12.2002 00:27

кажись такое делается через порты. Но убей не помню даж примерно какие и как. Поищи доки по программированию портов. Я думаю не сильно отличается от программирования COM-портов

Gike 25.12.2002 00:00

Все что я нашел - это програмирование чипов с помощью програматоров.
А я ищу элементарные вещи....

Gike 25.12.2002 04:46

есть на HappyTown.ru неплохая документация ...
Я хочу тоже самое но для DOS.

helldomain 25.12.2002 14:41

http://www.google.com/search?hl=en&l...%2Bport+%2BDOS

http://www.lvr.com/parport.htm

Gike 25.12.2002 23:21

http://www.pereplet.ru/nauka/perl/lpt.html - кажется то , что надо(читаю/разбираю)

helldomain 26.12.2002 17:01

Razbirai. Wot podskazka. Ischi ishodniki MOD playerow s podderjkoi Covox'a.

Gike 27.12.2002 22:07

понемногу разбираюсь....

Вопрос:
outb(x,port) - заисывает по определенному адресу x .
что это значит в смысле напряжения на выходе?

helldomain 28.12.2002 08:30

Zapisiwaet odin bait w port. Porti razdajutsya na urowne jeleza. Pryamoi swyazi s napryajeniem net.

Isalex 28.12.2002 09:22

Мне кажется что вопрос поставлен неправильно, хочу чуть пояснить выходное напряжение(оно стандартное +(2,5В-5В), обычно 5В четкие , но бывает иногда и ниже, но это уже проблемы блока питания) ты менять никак не можешь на значения отличные от 0В или 5В. Чтобы для какого-нить устройства подать другое напряжение, прийдется использовать доп. эл. схемы. Так вот таким образом ты можешь упрявлять через порт 12-ю напряжениями (8-канал данных и 4-контрольные сигналы) и следить ответную реакция по 4-м статусным сигналам, если порт двунаправленный , то ты также можешь получить 8-каналов на прием информфции. Вообще-то все очень подробно разжовано в линках указанных выше.

Очень помогло в решении своих задач. :)))

Isalex 28.12.2002 10:07

Я немного отклонился от темы :))) , так вот есль базовай адрес памяти 0x378 - адрес данных (точнее нервая нога даннях)
0x379 - вторая нога данных
и т.д и т.п.
цитирую источники:

Data Out W Base+0 D0-D7 8 LS TTL outputs - Это адреса (0х378 - 0х37F) на запись
Status In R Base+1 S3-S7 5 LS TTL inputs - Это адреса (0x383 - 0x387) на чтение статуса (не важно чьего статуса)
Control Out W Base+2 C0-C3 4 TTL Open Collector outputs - Это контрольные адреса (0x388 - 0x38B) для записи
" " " C4 internal, IRQ enable
" " " C5 internal, Tristate data [PS/2]

Data Feedback R Base+0 D0-D7 matches Data Out
Control Feedbk R Base+2 C0-C3 matches Control Out

Так вот по определенному адресу прписываешь бит или байт в зависимости способа посылкиб также считываешь. В результате получаешь на выходе 5В или ничего. Советуется использовать для не кратковременных сигналов биты контроля, т.к. биты данных нужно перезаписывать (хотя может я и ошибаюсь). В зависимости на чем ты пишешь, посмотри в инете библиотеки работы с LPT портом на прямую, чаще всего там есть сразу готовые функции управления базовами сигналами.
Надеюсь что чем-нибудь помог.
Но еще рах повторяюсь, смотри ссылки выше.

helldomain 28.12.2002 13:45

Kto pomnit takoi starij, drewnij sound blaster s nazwaniem Covox?

Gike 28.12.2002 20:51

что я имел ввиду :

подаю 1 байт .
какой смысл имеет значение этого байта?

Isalex 28.12.2002 21:02

По каждому адресу находится БИТ!!!! Ты его либо в 1 вгоняешь , либо в 0, причем это делается функцией для работы с БИТАМИ. Если же хошь работатьс БАЙТАМИ то после правильной сборки БАЙТА из БИТОВ записываешь по адресу 0х378 - данные, или же в адрес 0х388 - контроль. А считывать 0х380.
Т.е. если хочешь послать на первую ногу 5В прописываешь в адрес 0х378 байт chr$(1), коли посылаешь на 5-ю ногу прописываешь chr$(16), а на первую и пятую вместе записываешь chr$(17) !!!!!!!!!!!!

Успехов в труде и личной жизни

Gike 28.12.2002 21:56

Понял.
Спасибо!

helldomain 29.12.2002 02:54

Gike, nakin Isalex'u golosochek.

il_elec 28.01.2004 17:59

Жалко, что прога работает только под root'ом. Кто-нибудь знает, как это решить?

V@nya 04.03.2004 14:49

Isalex, уровню 1 в цифровых ТТЛ микросхемах соответствует не 5В а примерно 3.5В, а уровню 0, не 0В, а примерно 0.7В.
А теперь объясните как управлять LPT в Windows XP на Visual C++ .NET, а то под досом то я умею, а в виндоус наверное API какие-то?

blood_hound 10.05.2004 16:02

Под XP на NuMege можно драйверок состряпать. Он там в примерах есть. Кажется GenericPort называется. Драйверком можно писать, читать все что в нижних адресах памяти... Ессно и все регистры посвященные LPT и другому харду в компе. Правда не очень корректно получается со спулером печати :) Он продолжает себя считать полным хозяином LPT.
Ну а далее потокам в драйвере назначаешь системный файл и работаешь из под чего угодно (MSVC++ etc.)

esergey 11.05.2004 00:34

Блин не успел свое слово вставить уже все сказали :)
Хочу добавить что я для того чтобы обеспечить высокоскоростную работу порта писал драйвер на numege. Есть классная штука в numege qwickvxd - драйвер можно написать за 5 минут.

/7y3uK 11.05.2004 17:32

2 esergey
Нука про numege подробнее мона? Че за зверь? сколько весит? :)

blood_hound 11.05.2004 18:15

NuMega driver studio 2.6 (появилась 2.7) встраивается в Студию позволяет писать драйверки почти для всего харда в компе от СОМ до AGP. Весьма такая продвинутая штука. А главное без лишних ограничений свойственных микрософт ддк. Найти в осле можно. Весит около 50 метров. Плюс ддк поставить надо под ту Вин на которой драйверок работать будет (коллекция весит метров 200 под ХР только - около 100). Надо - залью и то и другое. Пиши в приват.

Сорри, за esergey ответил :rolleyes: , надеюсь не покусают...

V@nya 13.05.2004 16:22

Зачем мучаться писать драйвер, когда таких уже в инете целая куча, могу дать один, документацией.

/7y3uK 13.05.2004 17:36

2 blood_hound
угу, пасиба за ответ!! обычно я добрый и не кусаюсь :):)gigi

2V@nya
что за драйвер и что за документация? могбы сразу написать, чтобы не спрашивали :)

esergey 13.05.2004 22:15

Например, свой драйвер нужен для работы со специфическим форматом данных.

V@nya 15.05.2004 00:23

/7y3uK Смотри здесь


Часовой пояс GMT +4, время: 21:41.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.