Конференция "WinAPI" » Прямой доступ к принтерному порту. [D5, WinXP]
 
  • John_Korsh © (03.06.08 17:07) [0]
    Не подскажете, где ошибка:
    Обращаюсь непосредествеено к Lpt порту с помощью IOEngine.
    Перед обращением проверяю базовые адреса BIOS (408, 40A, 40C, 40E) - везде 0. По канонам ДОС это значит, что Lpt портов нет, хотя по свойствам Windows XP и по жизни - порт установлен и работает. (Lpt1). Прямое обращение к 378H срабатывает не на всех машинах. Видимо, XP где-то в реестре держит базовый адрес Lpt порта. Где?  Не поможете?
  • Сергей М. © (03.06.08 17:26) [1]

    > XP где-то в реестре держит базовый адрес Lpt порта


    Порт запросто может быть отображен на адресное пространство физической памяти, если это позволяет чипсет. Посмотри в ресурсы LPT-порта в его свойствах (Мой компьютер - Свойства - Оборудование - Диспетчер устройств) - тум увидишь, куда отображен интерфейс контроллера порта: либо на такие-то порты ввода-вывода, либо на такой-то диапазон адресов.
  • John_Korsh © (03.06.08 17:41) [2]
    Спасибо, смотрел - Lpt1 - порт $378. Не в этом ошибка.
  • John_Korsh © (03.06.08 17:43) [3]
    Наверное, действительно, отображён. А как это определить средствами ОС? (API)
  • Сергей М. © (03.06.08 19:49) [4]

    > А как это определить средствами ОС?


    А за каким лешим тебе понадобился прямой доступ к порту ?
  • John_Korsh © (04.06.08 08:33) [5]
    Написал протокол I2C через Lpt. Удобно - датчики влаги и температуры. Писал на своём компе - без вопросов. Перед сдачей решил проверить на других и "умылся". Хорошо, что проверил. Сейчас ищу пути. Так что по-делу.
  • Сергей М. © (05.06.08 09:31) [6]

    > Писал на своём компе - без вопросов


    Под Win9x ?
  • John_Korsh © (05.06.08 11:11) [7]
    Да нет, под XP.
  • tesseract © (05.06.08 15:21) [8]
    А конвертер купить не проще было ?
  • John_Korsh © (06.06.08 08:22) [9]
    Извините, а что за конвертер и где? Наверное, проще, да не знал, что такие есть.
  • John_Korsh © (07.06.08 10:09) [10]
    Отвечаю сам себе - может кому пригодиться.
    Всё дело в драйвере для прямого доступа IOEngine.dll. После смены драйвера на inpout32.dll все проблемы пропали на любых PC, у inpout32.dll и интерфейс проще и понятнее.
 
Конференция "WinAPI" » Прямой доступ к принтерному порту. [D5, WinXP]
Есть новые Нет новых   [134433   +21][b:0][p:0]