Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.07.11;
Скачать: [xml.tar.bz2];

Вниз

работа с LPT портом   Найти похожие ветки 

 
Serge KV   (2005-05-11 01:39) [0]

Мне нужно подсвечивать 10 лампочек, подключенных к LPT порту. Насколько я понимаю, 8 из них можно без проблем подсвечивать через контакты шины данных с помощью функции WriteFile. Вопрос -  что делать с остальными двумя, к каким контактам их лучше подключить и как проще всего управлять напряжением на этих контактах?

Если можно с примером...
Спасибо


 
KilkennyCat ©   (2005-05-11 02:35) [1]

можно еще использовать следующие:
STROBE
AUTO FD
INIT
SLCT IN

причем, только INIT прямой.


> и как проще всего управлять напряжением на этих контактах?


Это очень неверно! Забудьте слово "напряжение" применительно к портам ввода-вывода (за исключением питания, как в USB). Есть логическая 1 и логический 0. Управлять лучше всего через регистры, например, КР1533ИР53. Без проблем сможете использовать 32 лампочки.


 
KilkennyCat ©   (2005-05-11 02:37) [2]

КР1533ИР35 - очепятколся.


 
Serge KV   (2005-05-11 11:23) [3]

STROBE
AUTO FD
INIT
SLCT IN

Тогда как установить на этих контактах логическую единцу? (с помощью WinAPI)

КР1533ИР35 а что это такое?... мне желательно без дополнительных микросхем на порте..


 
Serge KV   (2005-05-11 11:24) [4]

и что значит "INIT только прямой"?


 
Tesla   (2005-05-11 12:38) [5]


> Serge KV   (11.05.05 01:39)

Ты лампочки собираешься напрямую на порт навесить? У LPT порта нагрузочная способность 20 мА для старых мамок и порядка 5 мА для новых - у тебя имно или лампочки гореть не будут или порт спалишь. KilkennyCat дело говорит.


 
Tesla   (2005-05-11 12:42) [6]


> Serge KV   (11.05.05 11:24) [4]
> и что значит "INIT только прямой"?

т.е. программно на INIT ставишь 1 - получаешь на ножке порта INIT логическую еденицу, ставишь 0 - логический нуль. Для инверсных всё наоборот.


 
shein   (2005-05-11 17:02) [7]

Tesla  дело говорит. порт нагружать нельзя. В крайнем случае можно использовать маломощные светодиоды, есть такие, что уже при 3мА нормально видны. Ес-но не забыть последовательно включить резисторы.
Доступ к управлению линиями LPT порта через порты ввода вывода $378-$37A или $278-$27A (это для LPT1 и LPT2 по умолчанию. В BIOS они могут быть изменены)
http://www.csu.ru/faculties/phys/maelab/_frames/_lpt_1.htm
Запись байта данных в порт приводит к появлению соответствующей комбинации сигналов на выводах.
Для работы с портами ввода/вывода в Turbo Pascal использовался массив portb[адрес] и portw[адрес] Для Delphi это тоже работает в Вин98, хотя не всегда. Надо искать соответствующие компоненты. Например DLPortIO когда-то лежал на этом сайте


 
Serge KV   (2005-05-12 20:24) [8]

Всем спасибо... но остался один вопрос -
как с помощью WinAPI устанавливать 0 или 1 на контакты:
STROBE
AUTO FD
INIT
SLCT IN

?


 
debuger ©   (2005-05-12 21:02) [9]

:)


 
Serge KV   (2005-05-13 01:29) [10]

?


 
KilkennyCat ©   (2005-05-13 17:50) [11]


> [8] Serge KV   (12.05.05 20:24)


А как Вы устанавливаете сигналы на шине данных? точно также и на управляющих, только адрес со смещением. Если ADDR - регистр данных, то ADDR+1 - регистр состояния, ADDR + 2 - регистр управления, который Вам и нужен.
По битам они (управляющие) в перечисленном порядке.
сигнал     бит
___________________
STROBE     0
AUTO FD    1
INIT          2
SLCT IN     3



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.07.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.046 c
3-1117040772
_dimka
2005-05-25 21:06
2005.07.11
Как увидеть добавленную запись не переоткрывая запрос? (IBX)


5-1088140621
AlexGreG
2004-06-25 09:17
2005.07.11
ComboBox с выпадающей формой TForm


10-1094817786
r_nikola
2004-09-10 16:03
2005.07.11
Глюки с NumberFormat для даты в Excel (понимает только по-русски)


14-1118403581
NightStranger
2005-06-10 15:39
2005.07.11
Smile


4-1115894651
misyachniy
2005-05-12 14:44
2005.07.11
Как правильно организовать задержку при обращении к USB?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский