· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Под XP не читает из порта.

Посл.отвђт Сообщенiе


Дата: Ноя 27, 2003 09:36:45

Добро утро!
Написал программу (Delphi), которая общается с COM через порты ($3f8,$2f8). В 98 всё нормально работает. В XP, я использую GIVEIO.sys, к портам обращается нормально.
Но читает из порта все время $FF.

Я не знаю что может быть. Вот процедуры чтения и записи:

function PortIn(IO : WORD) : BYTE;
begin
{ IOAddr := IO;
RunRing0Function(Vic,@P0ReadP,@Ring0Counter);
Result := POut;}
{ if _WinNT = 0 then EnablePorts(IOAddr, IOAddr);}
asm
mov dx,IO
in al,dx
mov result,al
end;
{ if _WinNT = 0 then DisablePorts(IOAddr, IOAddr);}
{ Result := GetPortByte(Vic,IOAddr);}
end;

procedure PortOut(IO : WORD; Dta : BYTE);
begin
{ SetPortByte(Vic,IOAddr,Data);}
{ IOAddr := IO;
Data := Dta;
RunRing0Function(Vic,@P0WriteP,@Ring0Counter);}
{ if _WinNT = 0 then EnablePorts(IOAddr, IOAddr);}
asm
mov dx,IO
mov al,Dta
out dx,al
end;
{ if _WinNT = 0 then DisablePorts(IOAddr, IOAddr);}
end;


Дата: Ноя 27, 2003 22:38:02

CromaX
А взять терминалку и посмотреть, чего там в COM-порту?


Дата: Ноя 28, 2003 09:20:12

Какую терминалку? HyperTerminal? Если да, то как в ней посмотреть?


Дата: Ноя 28, 2003 17:22:15

Может потренироватся на кошечках :-)
Вывести байт в LPT (378h обычно) и считать.
Но судя по судя по тексту программы обращения к SYS не видно.


Дата: Дек 10, 2003 00:56:47

Проблема в этом-
http://www.wasm.ru/forum/index.php?action=vthread&forum=7&topic=1110

Кстати, может всетаки ктонидь поможет примером?


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.493