Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> LPT порт, Как с ним работать? 
:(
    Опции темы
Antosha
Дата 20.11.2006, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 14.10.2006

Репутация: нет
Всего: нет



В общем у меня есть прибор с которого на LTP порт должно подаваться напряжение в определённом интервале (например от 6 до 9 вольт). Вопрос: как средствами Делфи определить кокое напряжение подано на порт (Если это вообще возможно)?
PM MAIL   Вверх
Albinos_x
Дата 20.11.2006, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 3
Всего: 108



собери устройство, которое величину напряжение будет преобразовывать в цифровой вид и считывай с него... а напряжением в 9 вольт можно и мамку спалить... т.к. насколько я знаю, LTP работает с напряжением 1 - 5 В (4.7 В), 0 - 0 В. 


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Antosha
Дата 21.11.2006, 06:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 14.10.2006

Репутация: нет
Всего: нет



Ясно, а как с этим портом в Делфи работать? Может компонент какой нибудь есть, или мануальчик? 
PM MAIL   Вверх
ruX
Дата 23.11.2006, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 203
Регистрация: 8.9.2006
Где: г.Гатчина

Репутация: нет
Всего: 3



Юзай WinIO. 
С помощю него ты сможешь читать данные с порта. И писать туда. Причём под любой виндой(за Висту не ручаюсь). Это такой драйвер.
Сам ни раз его юзал в своих девайсах.

Чтоб читать состяния порта нужно к базовому адресу порта прибавить смещение.  Ща уже практически ничего не помню. По умолчанию LPT1: - 0x378. А про смещания и биты смотри в литературе, причём много написанно было во времена Доса.

Если WinIO не найти, я могу скинуть. Он идёт в виде 3ёх файлов: winio.dll, winio.sys, winio.vxd

Что касается объявлений:
Код

procedure InitializeWinIo; stdcall; external 'WinIo.dll';
procedure ShutdownWinIo;stdcall; external 'WinIo.dll';
procedure SetPortVal(Port:word;Data:longint;Size:byte); stdcall; external 'WinIo.dll';


При запуске приложения вызывай InitializeWinIo, при завершении ShutdownWinIo;
Сайт их вроде www.internals.com

Добавлено @ 21:17 
Юзай WinIO. 
С помощю него ты сможешь читать данные с порта. И писать туда. Причём под любой виндой(за Висту не ручаюсь). Это такой драйвер.
Сам ни раз его юзал в своих девайсах.

Чтоб читать состяния порта нужно к базовому адресу порта прибавить смещение.  Ща уже практически ничего не помню. По умолчанию LPT1: - 0x378. А про смещания и биты смотри в литературе, причём много написанно было во времена Доса.%0
PM MAIL WWW ICQ   Вверх
Albinos_x
Дата 25.11.2006, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 3
Всего: 108



вот это попробуй:

Присоединённый файл ( Кол-во скачиваний: 42 )
Присоединённый файл  Source.zip 88,59 Kb


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Antosha
Дата 30.11.2006, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 14.10.2006

Репутация: нет
Всего: нет



Что-то я не могу скачать, мож вышлешь?
PM MAIL   Вверх
Dias2004
Дата 30.11.2006, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 24.1.2006
Где: Москва

Репутация: нет
Всего: нет



Изначальное решение неверно: цифровой порт не может мерять напряжение, он может лишь определить наличие/отсутствие сигнала, причем TTL-уровня (высокий - более 4В, низкий - менее 1В, значения примерные) Подача напряжения более 5 В может привести к гибели устройства. Для предотвращения фатальных исходов рекомендуется использовать гальваническую развязку.

Для замера напряжения нужно использовать аналоговый вход - на компьютере нынче это вход звуковой карты.
Разумеется, для замера высокого напряжения (9В - это ОЧЕНЬ много!) нужно применять делитель.

В Интернете есть целое сообщество любителей мерять все и вся с помощью входа звуковой карты. Полюбопытствуй - можно найти много интересного.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0698 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.