Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.008 c
2-1208175871
assassin8899
2008-04-14 16:24
2008.05.11
AQL запрос


15-1206469858
кодировки
2008-03-25 21:30
2008.05.11
отличие ASCIIZ от ASCII


15-1206783905
builder
2008-03-29 12:45
2008.05.11
Посоветуйте программку для прослушивания радио через интернет


2-1208241743
Миша
2008-04-15 10:42
2008.05.11
Титульный лист в программе


3-1196078709
Тимур
2007-11-26 15:05
2008.05.11
SQL.ADD выдает ошибку





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский