Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с LPT портом [D3, D4, D5, D6, Win95/98, WinME, NT4, Win2k, WinXP]


isc ©   (2002-09-20 18:36:00) 

Нужно написать программу, в которой есть шесть кнопок.
При нажатии на первую кнопку на первую ножку LPT порта
(только на первую) должно посылаться напряжение 5 Вольт на некоторое заданное время.
При нажатии на вторую кнопку напряжение 5 Вольт должно подаваться на вторую ножку LPT порта и т.д.
Как это можно сделать?
Если кто-то знает, большая просьба выслать на isc@pisem.net


Серый+   (2002-09-23 13:45:00) [1]

Так выглядит простая программа на Паскале (7,0) :

Uses CRT;

Var
data:byte; {переменная DATA типа byte}

Begin
Readln(data); {читаем переменную -ввод ентером}
Port[MemW[$0040:$0008]:=data; {посылаем в порт}
End.

Эта программа посылает в порт введеное число.

Какое число необходимо ввести :

1 выход - 1
2 выход - 2
3 выход - 4
4 выход - 8
5 выход - 16
6 выход - 32
7 выход - 64
8 выход - 128
0 - "гасит" все выходы 255 - включает все

Если нужно подать сигнал на все выходы, то нужно просто сложить числа обоих выходов. Пример (на св.диодах): у на горит 2-й и 7-й, нам нужно зажечь 5-й, не выключая 2и7. Считаем- у второго код 2, у седьмого - 64 => сейчас на порт послано число 64+2 = 66. Теперь зажигаем 5-й - 66+16(код пятерки) = 82. Посылаем на порт 82 и у нас будут гореть 2,5,7. Но вдруг нам понадобилось погасить 7-й. Всё просто - отнимаем от того что у нас сейчас "в порте" (82) часло этого 7-го вывода - 82-64 = 18




andyboxer   (2002-09-22 22:05:00) [2]

http://venezia.cx/~diskdude/software/cbuilder/index.html


MAYOR   (2002-09-22 13:51:00) [3]

А где конкретно лежит етот компонент???


int64   (2002-09-21 15:30:00) [4]

Возьми DriverLINX Port IO Driver. http://diskdude.cjb.net
Это драйвер с компонентом.
Там есть TDLPrinterPortIO со свойством:

property Pin[Index : TPinNumber] : Boolean read GetPin write SetPin;

// Index valid is in the range 1-25 only (other values return false)
// Reading the pin returns true when it is 5V, or false when it at 0V.
// Writing true sets the pin to 5V, or 0V when false.


Дерзай.


Сию программу   (2002-09-21 02:38:00) [5]

ГРАМОТНЕЕ всего, назвать "драйвером устройства". К тому же под системой NT - это и может быть только драйвером (т.е. на D3,D4,D5,D6 не пишется).


Наверх

Титульная страница Поиск, карта сайта Написать письмо