Показать сообщение отдельно
  #11  
Старый 19.12.2009, 03:29
userlife userlife вне форума
Прохожий
 
Регистрация: 17.12.2009
Сообщения: 10
Репутация: 10
Вопрос Продолжение

Код:
Function ibcOpenInterface(ComPort:Byte;Baudrate:DWORD;OpenPortHandle:THandle): DWORD; stdcall; External 'IsaBox.dll';
Function ibcOpenController(OpInt:DWORD;adr0:DWORD;adr1:WORD;adr2:WORD):DWORD; stdcall; External 'Isabox.dll';
Function ibcControl(a:boolean):boolean; stdcall; External 'Isabox.dll';

Function ibcReadPort(adr:word;value:byte):boolean; stdcall; External 'Isabox.dll';
Function ibcWritePort(adr:WORD;value:byte):boolean; stdcall; External 'Isabox.dll';
Function ibcReadPortW(adr:word;value:word):boolean; stdcall; External 'Isabox.dll';
Function ibcWritePortW(adr:word;value:word):boolean; stdcall; External 'Isabox.dll';

procedure TForm1.Button1Click(Sender: TObject);
begin
 ibcClearControllerList();
 ibcClearInterfaceList();
 OpenInterf:=ibcOpenInterface(0,115200,0);// девайс я посадил на COM0,а вместо рекомендованого NULL просто поставил ноль.
 OpenContr:=ibcOpenController(OpenInterf,$1,$300,$30F);// адрес устройства $1 взял из сообщений IsaBox администратора,а адреса $300-300F штатные,к которым привязан контроллер.
 ibcControl(false);// в руководстве этого трюка нет,но если я его не введу,все зависнет при первом же доступе к портам
 ibcControl(true);// собираю шину,как советует руководство

 for N:=0 to 10 do // и пробую,авось на каком-то разу все-таки "пробьет"...
 begin
  Vkluc:=ibcWritePort($307,$80);// пробую записать в порт управляющее слово
  if Vkluc=true then S:='True' else S:='False';
  memo1.Lines.Add(S);
  sleep(500);
// на экране в форме выводит False  False false ...
 end;

 end;

end.
Admin: Предупреждение! Пользуемся тегами!

Кажется запас моих знаний для решения проблемы исчерпан.
Что дальше? Кто поможет разобраться?
Спасибо заранее.
Ответить с цитированием