Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить

LPT в последовательном режиме

Ср авг 02, 2006 16:59:55

Здрава всем!
У меня такой вопрос - как заставить LPT работать в последовательном режиме? Я понимаю что приидётся емулировать работу порта програмно у меня получилось но не совсем.. типа я хочу скажем на 14 ножку послать такую инфу- 00101100 10111001 11000110...
как вообще оно работает?
вот как я зделал:

procedure TForm1.Button3Click(Sender: TObject);
var ms: integer;
begin
ms:= StrToInt(Edit1.Text);

sleep(ms);
Lpt.WritePort (LPT2,0,1); //0 bit
sleep(ms);
Lpt.WritePort (LPT2,0,0); //1 bit
sleep(ms);
Lpt.WritePort (LPT2,0,0); //2 bit
sleep(ms);
Lpt.WritePort (LPT2,0,1); //3 bit
sleep(ms);
Lpt.WritePort (LPT2,0,1); //4 bit
sleep(ms);
Lpt.WritePort (LPT2,0,0); //5 bit
sleep(ms);
Lpt.WritePort (LPT2,0,1); //6 bit
sleep(ms);
Lpt.WritePort (LPT2,0,0); //7 bit

end;


Я не очень в програмирований:( Этот пример работает но только на 2 pin, как указать другие?
Я исползую дрова LPTWDMIO.sys и модуль LPTIO.pas
вот link: http://valery-us4leh.narod.ru

дело в том что я хочу подключить LCD от nokia 3310! Я его по схеме Rifer-а подключил, всё работает, но с помощю программы LCDHYPE!
А она мне ужасно не нравится:( загружает комп! Если я смогу с помощю вас написатб прогу для LPT то потом постараюсь подключить COM порту!
не советуйте подключать COM порту пока хочу разобратся с LPT по схеме RIFER-а! http://rifer.narod.ru/nokia3210.htm

Прощу помогите потому что последняя надежда на вас!
Спасибо!!!
Последний раз редактировалось DLL32 Чт авг 03, 2006 00:17:05, всего редактировалось 1 раз.

Ср авг 02, 2006 17:03:23

please help!
Последний раз редактировалось DLL32 Чт авг 03, 2006 00:17:54, всего редактировалось 1 раз.

Ср авг 02, 2006 19:37:55

регистрированные пользователи могут редактировать свои сообщения. Есть специальная кнопочка "Правка".

Пт сен 08, 2006 13:05:38

Поскольку в программировании я сам тоже не дока, для начала вопрос: что означает команда типа Lpt.WritePort (LPT2,0,1); и что значат комментарии к ним? Номер бита в последовательном коде?

А теперь как делал я. Делал эмуляцию I2C для синтезаторов частоты(типа ТВ-тюнера от комповой платы), но не об этом речь. Во-первых, LPT порт состоит на самом деле из 3-х восьмибитных регистров(портов) с соседними адресами(если пользуем LPT1, то это соответственно 378h, 379h,37Ah). На вывод информации происходит только через 378h и 37Ah, а третий заточен на ввод данных и снаружи имеет только 5 разрядов.

Теперь как включать разные разряды. Тут всё просто: каждый разряд имеет вес. От 0(мл.знач.разряд) до 7(старш.знач.разряд) веса в двоичной системе такие: 1;2;4;8;16;32;64;128[dec]. Соответственно, для вывода единицы в произвольный разряд в порт посылается его вес в соотв. системе счисления. Для вывода единиц сразу в нескольких разрядах в порт посылается сумма их весов.

А вообще, читаем Гука...

Вс сен 10, 2006 23:53:43

PS спасибо!
Я уже давно во всем разобрался! Если интересно вот: http://www.forum.ishodniki.ru/index.php?topic=6958.0
Ответить