wm-help.net -> Электронная библиотека -> Delphi -> Вопросы и Ответы по Delphi -> Вопрос и Ответ 37 -> Версия для печати

Вопрос и Ответ 37

Вопрос и Ответ 37

Вопросы и Ответы


      37. Как получить данные из COM порта?

      Работа с портами в Delphi ни чем, принципиально, не отличается от работы с портами в других языках программирования. Можно использовать определенный массив Port, который позволяет считывать и записывать значения, но его использование не всегда оправдано, поскольку не обеспечивает необходимой гибкости и полученный код работает довольно медленно. Лучший результат дает использование процедур написанных на ассемблере.

      Базовые адреса двух COM портов, для справки:

        COM1 - 3F8h
        COM2 - 2F8h

      Пример:

      Простейший вид процедур посылки и получения данных.

      ............

      {процедура посылки данных в порт}
      procedure PortOut(Port: Word; Data: Byte); assembler;
      asm

        MOV DX,Port;
        MOV AL,Data
        OUT DX,AL

      end;

      ............

      {функция получения данных из порта}
      function PortIn(Port: Word): Byte; assembler;
      asm

        MOV DX,Port;
        IN AL,DX

      end;

      ............


...предыдущая страница следующая...
оглавление

Rambler's Top100