27 сентября 2009 в 15:24

  • babunbabunСергей Бабундин
    Цикл лекций "Вторая жизнь". Лекция №1 "Работа с параллельным портом (LPT)"

    А. Новожилов

    В статье будут рассмотрены примеры чтения и записи данных в LPT порт, а также работа с некоторыми управляющими сигналами. Если Вы хотите что-либо считывать с порта, то Вам необходимо переключить режим работы порта компьютера в режим EPP (Enhanced Parallel Port - режим двунаправленной передачи данных). Это делается в BIOS. Во время загрузки компьютера когда появится надпись Press DEL to enter setup, нажмите DEL, чтобы попасть в меню BIOS. Затем выберите раздел INTEGRATED PERIPHERALS и там выберите строку PARALLEL PORT MODE: измените режим работы Вашего порта на EPP или SPP/EPP. Сохраните сделанные изменения. Если же на Вашем компьютере нет режима EPP, то Вы сможете только передавать данные

    Параллельный порт для связи с принтером (или другим устройством) имеет базовый адрес &H378 (LPT1), &H278 (LPT2), &H3BC (LPT3). В данной статье мы будем рассматривать только LPT1. Адресное пространство порта занимает диапазон &H378-&H37F. Адрес &H378 называется базовым и служит для передачи или чтения данных, через контакты 2-9 разъема LPT-порта. Адрес &H37A служит для передачи управляющих сигналов к устройству, подключенного к этому порту (принтер, сканер и т.д.). И, наконец, адрес &H379 предназначен для приема управляющих сигналов с устройства, подключенного к этому порту (принтер, сканер и т.д.). Рассмотрим конкретные примеры для каждого из адресов. Для написания статьи я использовал VB6 и библиотеку Inpout32.dll. В принципе подойдет любая другая, которая имеет возможность общаться с LPT портом.

    Начало программы.

    В самом начале программы необходимо указать с какой библиотекой мы будем работать:

    Option Explicit

    Private Declare Function Inp Lib "inpout32.dll" _

    Alias "Inp32" (ByVal PortAddress As Integer) As Integer

    Private Declare Sub Out Lib "inpout32.dll" _

    Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)

     

    Передача числа 15 в LPT-порт адрес &H378  

    Private Sub Command1_Click()

    Out &H378, 15

    End Sub

    Чтобы наглядно убедиться в работоспособности программы соберите для удобства вот такую схему.

     

    Продолжение следует .....

     

 
 
 
 
 
 
Комментарии (0)

Ни одного комментария нет

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

     
     
     
    Добавить запись
    Добавлять записи могут только участники