HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Электроника и Фрикинг > Схемы и программы
   
 
 
Опции темы Поиск в этой теме Опции просмотра

[Начинающим] - Lpt порт.
  #1  
Старый 15.02.2008, 14:30
Dimi4
Reservists Of Antichat - Level 6
Регистрация: 19.03.2007
Сообщений: 953
С нами: 10077446

Репутация: 3965


По умолчанию [Начинающим] - Lpt порт.

Привет! Если вы хотели начать заниматься електроникой вместе с програмированием, ета статтья для вас. Расчитана она на новичков, которые хотят сделать девайс управляющийся компом. Для етого используем лтп порт. Наверника вы им не пользуется. Он использовался в старых версиях принтерах. Чаще всего он "закрашен" фиолетовым, и самый длинный. Думаю без проблем его найдете.
Он состоит из адресов H378, H37a. Есть еще другие, знать о них необязательно. Адреса H378, H37a могут выдавать и принимать сигналы, работают двунаправлено.Чаще всего , H37a предназначен для управления девайсом, а H378 для отправки и приёма сигналов.Сигнал - ето всего-лиш присутствие или отсутствие напряжения (5В) на порте. Допустим, если нам нужно включать всего 8 светодиодов. Ето означает, что нужно научить програму подавать напряжение 5В адреса H378, ножки 2. В етом и заключается суть управления.
Важно, чтобы девайс имели хрошою гальваническую развязку с компом, ELSE die(); PC.
У нас девайсом - будеть лампочка, точне: светодиод. Помните, он имеет полярность.
(http://ru.wikipedia.org/wiki/Светодиод)
Проверьте полярность : горит - ок, не горит - поменяйте полярность и запомните правильный вариант.
Далее, ножки светодиода надо фтыкнуть в 2-й (тот вывод, который подключася к плюсу батареи) и 25-й ( тот который на "минусе" батареи) Важно! разьемы порта, не перепутайте!
Далее ПРОГРАМИРУЕМ:
Наша прога будет в консольном виде, на си++
Вот собсна и код:
PHP код:
#include "iostream.h"
#include "conio.h"
#include "stdlib.h"

void main()
{
    
int Address=888;
    
cout<<"Тестируем LTP port."<<endl;
    
cout<<"Жмякай '1' для активации и '0' для дезактивации диода ."<<endl;
    
cout<<"для выхода 'e'."<<endl;
    
cout<<" "<<endl;

    while(
1)
    {        
        switch(
getch())
        {

            case 
'0':    cout<<"Дезактивация...."<<endl;
                        
_outp(Address0);
                        break;             
            case 
'1':     cout<<"Активация...."<<endl;
                        
_outp(Address1);
                        break;
            case 
'e': exit(1);
        }
    }

   
getch();

Вот и всё! Диод Должен Загорется.
Ищо примерчик на новом языке LangMF:
PHP код:
<#Module=mdlDemo>
'---------------------------------------
Sub Load(cmdLine)
  form.add "label",1
  form.label(1).move 140,40
  form.label(1).fontsize=16

  form.add "command",1
  form.command(1).move 130,100,80,30
  form.command(1).caption="OK"

  form.show
End Sub
<#Module>

<#Form=form>
'
-----------------------------------------
Sub Command1_Click()
Dim numPortbyt

randomize timer


Do

    
rc sys.dynapi.callfunction("dlportio","DlPortWritePortUchar", &H378int(rnd*255))

    
byt sys.dynapi.callfunction("dlportio","DlPortReadPortUchar", &H378)


    
form.label(1).caption byt
    DoEvents
    Sleep 200

Loop until isend

End Sub

'-----------------------------------------
Sub Form_Unload()
  endmf
End Sub
<#Form> 
Для работы данного скрипта необходимо установить "DriverLINX Port I/O Driver".

Его можно скачать здесь: _http://atombyte.com/ftp/Dlpio_setup.exe
 

  #2  
Старый 15.02.2008, 15:27
MegaDeth
Участник форума
Регистрация: 08.11.2006
Сообщений: 208
С нами: 10266046

Репутация: 184
По умолчанию

так это конечно хорошо, на досуге все прочитаю а пока поправлю лог.1 это +12в у лаптя, а лог0 это отрицательное напряжение относительно массы, помоему -5В однако немогу утверждать точно. такчто резисторы... Кстате а где у тебя про них написано??? вообщем надо брать килоома 2 не меньше...
разчитывается так
R=(Напряжение_питания_свето иода-12/Максимальный_ток_для_свето иода)

а лучше вообще помимо светодиода последовательно воткнуть диод, пятивольтовый интегральный стабилизатор и резистор...
у светодиодов может быть маленький обратный ток, и от -5В ему хешельбе придет...
кстати автор и проверь заодно, воткни один прямо другой обратно светодиоды(с резисторами!!!), и посмотри при лог.0 будет ли гореть один из них =)))
 

  #3  
Старый 15.02.2008, 15:37
Dimi4
Reservists Of Antichat - Level 6
Регистрация: 19.03.2007
Сообщений: 953
С нами: 10077446

Репутация: 3965


По умолчанию

Цитата:
кстати автор и проверь заодно, воткни один прямо другой обратно светодиоды(с резисторами!!!), и посмотри при лог.0 будет ли гореть один из них =)))
На данный момент немогу, у меня ноут а там нет лтп. Но как только буду иметь доступ к обычному попробую.
Цитата:
а лучше вообще помимо светодиода последовательно воткнуть диод, пятивольтовый интегральный стабилизатор и резистор...
Можно но проще светодиод--->резистор. Всё должно быть ОК
 

  #4  
Старый 16.02.2008, 02:14
presidentua
Постоянный
Регистрация: 04.11.2007
Сообщений: 331
С нами: 9746246

Репутация: 806
По умолчанию

Автор моего любимого программатора АВРеал тоже использует DriverLINX Port I/O Driver. Поэтому эта библиотека тоже установлена, но никогда даже не пробовал с ней разобраться. Но смотрю управлять с помощью ее ЛПТ портом очень легко. На досуге тоже поиграюсь с этой библиотекой.

Спасибо!
 

  #5  
Старый 29.02.2008, 01:00
OMG!!
Постоянный
Регистрация: 25.02.2008
Сообщений: 331
С нами: 9583330

Репутация: 189
По умолчанию

Я в lpt много девайсов собирал.. начиная от IR приемника.. потом надрачивал его на xmms, и все ок.. заканчивая джойстиком от PS One. схем в интернете море)
 
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
D-Link и Outpost. закрыть порт. mr.The Windows 7 04.02.2008 03:18
Delphi/C++: как проге повиснуть на открытый порт и качать оттуда инфу? BNF С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5 26.04.2005 16:53



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.