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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2019, 09:40   #21
igorter
Пользователь
 
Регистрация: 11.11.2019
Сообщений: 10
По умолчанию

Как работали порты из Windows 98 и младше, это я хорошо знаю, так как на практике так делал, там действительно было всё очень просто.
Ваша статья интересная и много нюансов хорошо расписано, как я изначально и хотел через WinAPI работать. Но не совсем только понял, почему в более нових ОС это не работает, если все стандартные Виндовсовские процедуры и функции используются, стандартный файловый ввод-вывод? Что-то Майкрософт отошел от своего первоизначального лозунга о совместимости старых програм с новыми ОС.
igorter вне форума Ответить с цитированием
Старый 17.11.2019, 10:59   #22
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Цитата:
Сообщение от igorter Посмотреть сообщение
Что-то Майкрософт отошел от своего первоизначального лозунга о совместимости старых програм с новыми ОС.
Это не новая ОС это новый сервис пак. Программисты Майкрософт тогда удалили символьную ссылку LPT1. Зачем они это сделали? Они не поясняли. Судя по современному MSDN такое впечатление, что откатили. Жалко проверить некогда.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 17.11.2019, 15:49   #23
igorter
Пользователь
 
Регистрация: 11.11.2019
Сообщений: 10
По умолчанию

Хочу еще спросить по USB-LPT адаптеру на CY7C68013A, может был опыт его использования? Всё сделал по инструкцмии с официального сайта на основе купленой на Алиэкспресе платы, подключил к разьему LPT по официальной схеме, не работает, да и русские драйвера были крывые не полные, пришлось их объединить с английской версией, вроде запустилось. Но, пины контрольного и статусного портов все-равно не работали, пока не нашел какой-то старой схемы и экспериментальным методом не понаходил все ноги микросхемы с правильными сигналами. И то две линии пришлось поменыть местами относительно этой схемы. Но, даже после этого мой принтер через этот переходник так и не запустился. Нашел в своих архивах старый компонент для LPT под Delphi TVicHW32, он тоже этого виртуального порта не видит. Его видит только родная утилита драйвера этого порта и через нее его можно тестировать. Хотя все на форумах так хвалили этой переходник.
igorter вне форума Ответить с цитированием
Старый 18.11.2019, 02:10   #24
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Цитата:
Сообщение от igorter Посмотреть сообщение
Как работали порты из Windows 98 и младше, это я хорошо знаю, так как на практике так делал, там действительно было всё очень просто.
Ваша статья интересная и много нюансов хорошо расписано, как я изначально и хотел через WinAPI работать. Но не совсем только понял, почему в более нових ОС это не работает, если все стандартные Виндовсовские процедуры и функции используются, стандартный файловый ввод-вывод? Что-то Майкрософт отошел от своего первоизначального лозунга о совместимости старых програм с новыми ОС.
Жизнь заставила. Нельзя или слишком трудоёмко реализовать такую обратную совместимость.
northener вне форума Ответить с цитированием
Старый 07.02.2023, 17:34   #25
Rasool
 
Регистрация: 27.03.2015
Сообщений: 5
По умолчанию

Здравствуйте. Передо мной сейчас стоит задача управления LPT-портом из программы на Embarcadero Delphi XE в Windows 7 (в перспективе на Windows 10). Для начала хотя бы помигать светодиодами, подключенными к выводам LPT-порта. LPT-порт организован на PCI-плате , которая подсоединяется к компьютеру через PCI-Express и для нее устанавливается свой драйвер. В диспетчере устройств плата видна как WCH PCI Express=>DUAL SERIAL&&PARALLEL.
Есть вариант использовать inpout32.dll, там есть такие функции
Код:
function Inp32(PortAdr: Word): byte; stdcall; external 'inpout32.dll';
function Out32(PortAdr: Word; Data: byte): byte; stdcall; external 'inpout32.dll';
То есть для работы с LPT-портом нужно указывать адрес порта PortAdr. Где его можно посмотреть? Во вкладке "Ресурсы" свойств драйвера?
Rasool вне форума Ответить с цитированием
Старый 09.02.2023, 15:55   #26
Rasool
 
Регистрация: 27.03.2015
Сообщений: 5
По умолчанию

Вчера заработал LPT-порт. Использовал драйвер inpout32.dll, в качестве адреса порта использовал адрес из "Диапазона ввода/вывода (I/O)" из вкладки "Ресурсы" драйвера параллельного порта в "Диспетчере устройств".
Код:
function Inp32(PortAdr: Word): byte; stdcall; external 'inpout32.dll';
function Out32(PortAdr: Word; Data: byte): byte; stdcall; external 'inpout32.dll';
Код:
    PortAdr1 := $EEFC;
    PortAdr2 := $EEFF;
    Data := 255;
    for PortAdr := PortAdr1 to PortAdr2 do
        Out32(PortAdr, Data);
    Sleep (2000);
    Data := 0;
    for PortAdr := PortAdr1 to PortAdr2 do
        Out32(PortAdr, Data);
    Sleep (2000);
    Data := 255;
    for PortAdr := PortAdr1 to PortAdr2 do
        Out32(PortAdr, Data);
Rasool вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
управление LPT портом SAMOUCHKA Общие вопросы C/C++ 7 15.07.2012 13:13
Управление LPT портом под FreeBSD miguel_condie Общие вопросы C/C++ 2 14.08.2010 07:59
Управление LPT портом nikleb Паскаль, Turbo Pascal, PascalABC.NET 5 27.05.2010 19:40
Управление COM портом средствами Visual Basic 6. С.М.С Помощь студентам 2 05.04.2010 18:22
Управление LPT портом Kuzmichinishe Помощь студентам 3 28.09.2009 11:07