С чего начать? Или получение первых результатов от LPT. Итак, приступим к обузданию порта lpt или параллельного порта принтера. Сначала надо определиться, чего мы хотим для начала?
- не знаю, как Вы, а когда я первый раз задался этим вопросом (давно это было ...), то ответ был такой:
"Хочу чтоб к компьютеру подключалась лампочка. Запускаю программу. Делаю какое-то действие в этой программе, лампочка загорается, делаю другое - лампочка тухнет."
Для начала, я думаю этого достаточно. Именно этим мы сейчас и займемся.
ВНИМАНИЕ! Представленный пример программы будет работать только в ОС Windows 9x (Windows 95, 98, Me). В ОС Windows NT (2000, XP) так по-простому залезть в порт не удастся, в следующих статьях я подробно расскажу как обойти эту проблему и управлять портом на любой ОС.
1. Надо на компьютере отыскать этот самый lpt порт.
Для этого берете системный блок Вашего компьютера и смотрите ему внимательно в тыловую часть: среди кучи всяких разъемов Вы должны заметить здоровенный разъём с 25-тью 'дырочками', да-да тот самый, который Вы наверняка ни разу не использовали.
2. "Лампочки".
Для наших целей брать лампочку от карманного фонарика не рекомендуется, гораздо лучше подойдет СВЕТОДИОД. Их можно выкрутить из старой электроники, или купить новый в магазине радио-деталей. После того как, Вы его достанете, надо этот светодиод протестировать: берете батарейку на 3-6 В (меньше может не загореться, больше может сгореть) и подключаете к светодиоду. Горит - хорошо, не горит - поменяйте полярность подключения батареи. Если ни так, ни так не горит - значит Ваш светодиод неисправен. Если светодиод исправен, запомните какой из выводов Вы подключали к "+" батареи, какой к "-": это очень важно.
3. Подключение светодиода к порту.
Итак, ответственный момент: ножки светодиода надо вставить во 2-ой (тот вывод, который подключается к "+" батареи) и 25-ый (соответственно, тот который был на "-" батареи) разъём порта, не перепутайте!
Теперь где эти самые выводы расположены: на рис. выше показана розетка lpt-порта с полной нумерацией выводов, следуйте ей в поисках нужных контактов. На розетке порта системного блока, скорее всего указаны номера только крайних выводов (4 шт.: 1, 13, 14 и 25). Выводы расположены в 2 ряда: в первом ряду расположены выводы 1-13, во втором 14-25 соответственно.
Для того чтобы во время проведения опытов не сидеть под столом, наблюдая за светодиодом, лучше прикупить удлинитель lpt-порта. Тогда его можно вывести на стол и втыкать светодиод в него.
Если покупать лень, то тогда хотя бы прикрутите два провода к светодиоду, достаточной длины, чтоб вывести их от порта lpt на стол.
После того как Вы подключили светодиод, он должен загореться. Если это так, то хорошо, иначе проверьте туда-ли его засунули и не отвалится ли где какой контакт. (может быть удлинитель кто-то "качественно" сделал)
4. Программная часть
Итак, на этом мы закончили аппаратную часть. Займемся программной. Программу будем писать на Си в Microsoft Visual C++ 6.0
Установите сей программный продукт, если его у Вас на компьютере нет. Далее ищите иконку как на рис. выше. Запускайте. Выбирайте: File -> New Должно появиться такое окошко.
Выбираете там Win32 Console Application. Указывайте в поле Project name имя проекта, например port. В поле Location указан путь к файлам проекта. Нажимайте Ok. В следующем окне выбирайте пункт An empery project и жмете Finish.
Теперь опять File -> New. Отображается закладка Files
Выбирайте там C++ Source File. В поле File name укажите имя Port для этого файла. Нажимайте Ok. Все подготовительную работу выполнили, можно собственно писать программу. В левой части окна программы выберите закладку FileView:
В папке Source Files выберите наш файл Port.cpp
Теперь копируем код расположенный ниже в содержимое файла Port.cpp.
#include "iostream.h"
#include "conio.h"
#include "stdlib.h"
void main()
{
int Address=888;
cout<<"Test LPT port."< cout<<"Press '1' to activate and '0' to disactivate lightdiod."< cout<<"To exit press 'e'."< cout<<" "< while(1)
{
switch(getch())
{ case '0': cout<<"Disactivate...."< _outp(Address, 0);
break;
case '1': cout<<"Activate...."< _outp(Address, 1);
break;
case 'e': exit(1);
}
}
getch();
}
После того как скопировали, выбирайте на самом верху Build ->Compile Port.cpp, потом Build ->Build Port.exe Если Вы все правильно скопировали, и компилятор нормальный, то в самом низу должна появиться надпись:
--------------------Configuration: Port - Win32 Debug--------------------
Linking...
Port.exe - 0 error(s), 0 warning(s)
Если все в порядке, смело лезьте в папку нашего рабочего проекта. Там должна появиться папка Debug. В ней лежит наша программа Port.exe. Запускайте ее.
Вот тут надо сделать серьезное замечание: эта программа сможет управлять светодиодом, только из операционной системы Windows 9x (Windows 95, 98, Me). В ОС Windows NT (2000, XP) так по-простому залезть в порт не удастся, в следующих статьях я подробно расскажу как обойти эту проблему и управлять портом на любой ОС.
Но вернемся в ОС Windows 9x, запустим программу. Что теперь делать? Да там все написано: нажимаешь на клавиатуре 0 - светодиод гаснет!, набираешь 1 - загорается и т.д.
Итак, мы закончили самую первую программу для работы с lpt-портом. Наверняка у Вас уже появились идеи по ее использованию на практике. Смотрите следующие статьи - все только начинается.
PCPORTS.RU Иванов Д.В.