Вопросы и Ответы
37. Как получить данные из COM порта?
Работа с портами в Delphi ни чем, принципиально, не отличается от работы с портами в других языках программирования. Можно использовать определенный массив Port, который позволяет считывать и записывать значения, но его использование не всегда оправдано, поскольку не обеспечивает необходимой гибкости и полученный код работает довольно медленно. Лучший результат дает использование процедур написанных на ассемблере.
Базовые адреса двух COM портов, для справки:
COM1
- 3F8h
COM2 - 2F8h
Пример:
Простейший вид процедур посылки и получения данных.
............
{процедура
посылки данных в порт} MOV
DX,Port; end; ............ {функция
получения данных из порта} MOV
DX,Port; end; ............
procedure PortOut(Port: Word; Data: Byte); assembler;
asm
MOV AL,Data
OUT DX,AL
function PortIn(Port: Word): Byte; assembler;
asm
IN AL,DX
...предыдущая страница следующая...
оглавление