Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.11;
Скачать: CL | DM;

Вниз

Вопрос по 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;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.006 c
15-1206640524
Сашик
2008-03-27 20:55
2008.05.11
Вложеные файлы


2-1207943501
Megabyte
2008-04-11 23:51
2008.05.11
Скрытый ввод - готовый компонент


2-1208195427
San1712
2008-04-14 21:50
2008.05.11
Как скопировать поля Items[0].Caption и Items[0].SubItems ?


2-1207833052
Снежинка
2008-04-10 17:10
2008.05.11
Запрос


2-1207937543
lewka-serdceed
2008-04-11 22:12
2008.05.11
Вывод даты из DateTimePicker





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский