Форум: "Начинающим";
Текущий архив: 2008.05.11;
Скачать: [xml.tar.bz2];
ВнизВопрос по WinIO. Найти похожие ветки
← →
John_Korsh © (2008-04-14 16:09) [0]Не даст ли кто конкретный пример работы с портами Lpt через WinIO, а то, там Help для Си, а InitializeWinIO у меня всё время False возвращает.
← →
tesseract © (2008-04-14 16:13) [1]
> InitializeWinIO у меня всё время False возвращает.
А заголовки точно нормально прописал ? Везде StdCall ?
Может и реально что-то не так у тебя - ты драйвер его правильно поставил ?
← →
MBo © (2008-04-14 16:16) [2]
unit WinIO;
interface
uses
Windows;
function IOStart: BOOL; stdcall;
procedure IOStop; stdcall;
function IOReadByte(Port: Word): Byte;
function IOReadWord(Port: Word): Word;
function IOReadDWord(Port: Word): DWord;
procedure IOWriteByte(Port: Word; Value: Byte);
procedure IOWriteWord(Port: Word; Value: Word);
procedure IOWriteDWord(Port: Word; Value: DWord);
function InstallWinIoDriver(pPath: PChar; DL: Boolean = False): BOOL; stdcall;
function RemoveWinIoDriver: BOOL; stdcall;
implementation
function IOStart; external "WINIO.DLL" name "InitializeWinIo";
procedure IOStop; external "WINIO.DLL" name "ShutdownWinIo";
function GetPortVal(wPortAddr: Word; var pdwPortVal: DWord; bSize: BYTE):
BOOL; stdcall; external "WINIO.DLL";
function SetPortVal(wPortAddr: Word; dwPortVal: DWord; bSize: BYTE):
BOOL; stdcall; external "WINIO.DLL";
function InstallWinIoDriver; external "WINIO.DLL";
function RemoveWinIoDriver; external "WINIO.DLL";
function IOReadByte(Port: Word): Byte;
var
d: DWord;
begin
GetPortVal(Port, d, 1);
Result := d;
end;
function IOReadWord(Port: Word): Word;
var
d: DWord;
begin
GetPortVal(Port, d, 2);
Result := d;
end;
function IOReadDWord(Port: Word): DWord;
var
d: DWord;
begin
GetPortVal(Port, d, 4);
Result := d;
end;
procedure IOWriteByte(Port: Word; Value: Byte);
begin
SetPortVal(Port, Value, 1);
end;
procedure IOWriteWord(Port: Word; Value: Word);
begin
SetPortVal(Port, Value, 2);
end;
procedure IOWriteDWord(Port: Word; Value: DWord);
begin
SetPortVal(Port, Value, 4);
end;
end.
← →
John_Korsh © (2008-04-14 17:10) [3]Спасибо, но чего-то не работает.
В Create вызаваю IOStart.
По кнопке - IOWriteByte ($378, $55) - нет изменений в состоянии порта, хотя
LPT1 сидит на $378 IO.
Чего не так сделал?
← →
MBo © (2008-04-15 09:53) [4]>Чего не так сделал?
Не знаю, проверить не реальном девайсе нет возможности.
Однако у меня под XP инициализация проходит нормально, и после записи байта в 378 порт оттуда читается этот же байт. Не знаю, является ли это доказательством функционирования.
← →
John_Korsh © (2008-04-15 11:27) [5]У меня приспособа со светодиодиками. Не горят. При использовании консольного варианта IOEngine - зажигаются.
← →
John_Korsh © (2008-04-15 15:27) [6]Работает с модулем IOEngine. (Если кому надо). WinIO так и не задышал.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.05.11;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c