Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2011, 17:55   #1
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию Lpt порт и delphi

Добрый вечер. Вот какой вопрос у меня возник. Почитал я тут статью. Я нашел много интересного, но сейчас не об этом. Я уже занимался с lpt портом, экспериментировал, вставлял светодиоды и т.д., но мне помогала программа wndlpt. Теперь я хочу сделать свою. В общем наткнулся на то что нужно использовать библиотеку input32 (кстати для семерки 32 разрядной подойдет? Если нет, то что использовать?) пишу я, допустим, код
Код:
out32(888, data);
Насколько я знаю, если data:=1 then загорится светодиод, питающийся от первого пина(может я не прав), Какую информацию мне нужно отправлять чтобы зажечь 1,2,3 и т.д пины? Собственно, это меня больше всего интересует.
Спасибо.

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Старый 18.10.2011, 18:47   #2
Silver_S
Форумчанин
 
Регистрация: 14.03.2011
Сообщений: 104
По умолчанию

www.dsioffe.narod.ru/stuff/spp.doc
Мне когда-то эта информация помогла.

Чтоб зажечь 2 пин, переменной data задаем значение 1. Каждый бит data отвечает за отдельный пин (см инфу)
Если нужно зажечь несколько пинов, устанавливайте в Data несколько битов.
Silver_S вне форума Ответить с цитированием
Старый 19.10.2011, 16:08   #3
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию

Цитата:
Каждый бит data отвечает за отдельный пин (см инфу)
Спасибо, но я не нашел

Есть табличка, но она ничем не помогает. Я, наверное, слепой. Если не найду попытаюсь догадаться на практике.
Изображения
Тип файла: jpg Безымянный.jpg (41.5 Кб, 143 просмотров)

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Старый 19.10.2011, 17:02   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...поищите статьи Владимира Дегтяря. Да, собственно, и тем на форуме достаточно, поиск по тегу "LPT".
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 19.10.2011, 21:01   #5
Silver_S
Форумчанин
 
Регистрация: 14.03.2011
Сообщений: 104
По умолчанию

Цитата:
Сообщение от _PROGRAMM_ Посмотреть сообщение
Спасибо, но я не нашел
Смотрите подзаголовок "Программные регистры стандартного параллельного порта (SPP)"
Опишу первую табличку
База - базовый адрес порта, в нашем случае 888 = $378.
База + 0 = 888 + 0 (стандарный адрес , как в вашем случае).
Восемь бит - "Биты 7-0" (то бишь байт) записанные в этот порт отвечают за "Данные 7-0"
Смотрим большую табличку выше - пины данных со 2 по 9.
то есть если написать
Код:
out32(888, 3);
на пины 2(данные 0) и 3(данные 1) подадутся логические единицы т.к 3 = 1 + 2, т.е. установлены 0 и 1 биты.

Последний раз редактировалось Silver_S; 19.10.2011 в 21:19.
Silver_S вне форума Ответить с цитированием
Старый 19.10.2011, 21:06   #6
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Я для своих разработок использую IOPort. Бесплатная версия вполне работоспособна, только при каждом запуске программы, будет выскакивать окошко. Стоимость лицензии тоже невысокая - 700 деревянных. Ставится как компонент. Удачи.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 20.10.2011, 21:41   #7
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию

Цитата:
Я для своих разработок использую IOPort
Да не. Я ради спортивного интереса хочу сам сделать.

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Старый 21.10.2011, 07:14   #8
mifka72
Пользователь
 
Аватар для mifka72
 
Регистрация: 25.12.2009
Сообщений: 17
По умолчанию

когда-то очень помог:
http://www.pcports.ru/Articles.php

раздел "Программирование LPT порта"
mifka72 вне форума Ответить с цитированием
Старый 24.10.2011, 14:24   #9
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию

Цитата:
База - базовый адрес порта, в нашем случае 888 = $378.
База + 0 = 888 + 0 (стандарный адрес , как в вашем случае).
Восемь бит - "Биты 7-0" (то бишь байт) записанные в этот порт отвечают за "Данные 7-0"
Смотрим большую табличку выше - пины данных со 2 по 9.
Спасибо огромное. Все понял.
Цитата:
когда-то очень помог:
Посмотрите мой первый пост. Он затеян из-за этих статей.

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Старый 25.10.2011, 08:29   #10
mifka72
Пользователь
 
Аватар для mifka72
 
Регистрация: 25.12.2009
Сообщений: 17
По умолчанию

А я почитал, и разобрался, там даже пример программы на дельфи есть.
На основе неё делал программку управления пинами и плату с лампочками и переключателями для "обратной связи".

В программе лампочки включал по speedbutton, значение кнопок переводил из двоичной системы в десятичную и записывал, при считывании переводил обратно в двоичную.
mifka72 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
lpt порт DeDoK Компьютерное железо 2 11.07.2010 13:23
LPT порт ImmortalAlexSan Компьютерное железо 5 19.06.2010 18:35
LPT ПОРТ master3763 Общие вопросы C/C++ 7 11.08.2009 10:32
LPT порт. Maxs Помощь студентам 2 19.04.2009 11:47