Главная страница
    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.044 c
14-1118038510
vidiv
2005-06-06 10:15
2005.07.11
*.cdw


6-1112857563
atruhin
2005-04-07 11:06
2005.07.11
Ошибка 10038 - Объект не является сокетом


1-1119362054
dfkghasdlkgjh
2005-06-21 17:54
2005.07.11
событе на открытие/закрытие проги.


1-1118749464
GEEK
2005-06-14 15:44
2005.07.11
В чем ошибка? Можно ли сравнить две TPoint?


14-1118569480
AngeL B.
2005-06-12 13:44
2005.07.11
Ошибка при запуске на ноуте





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский