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

Здравствуйте всем.
Случилось у меня,что приобрел я однажды некий крутой девайс АЦП-ЦАП.Теперь не могу к нему программно доступиться,хотя документация есть.Проблемма в том,что примеры даны на языке С,в котором я ... ну ничего не...
Здесь я подаю материалы,как они поданы в примере документации.Может кто-нить поможет мне перевести эти команды в делфовский вид и запустить таки этот мудреный девайс?
В исходнике прилагается некая DLL библиотека IsaBox.dll

-------------------------------------------------------------
Пример сборки шины и доступа к портам

В данном примере подключим устройство на COM2.
Скорость обмена по COM-порту 115200 кбит/с, адрес контроллера 0x05.

Код:
#define COM2  1
#define LOCAL_PORT  5100
void main(void)
{
unsigned long ComInterface, ComController;
unsigned short PortValue;

// 1. Очистка реестров интерфейсов и контроллеров
ibcClearControllerList();// это функции библиотеки IsaBox.dll
ibcClearInterfaceList();

// 2. Регистрация интерфейса
ComInterface = ibcOpenInterface(COM2, 115200, NULL);// это функции библиотеки IsaBox.dll

// 3. Регистрация контроллеров
ComController = ibcOpenController(ComInterface,0x05,0x300,0x309);
// 0x300,0x309 - адреса портов ввода-вывода сего девайса

  }
------------------------------------------------------------------
Вот что попробовал сделать я.Ввиду моего малого опыта программирования,я решил библиотеку IsaBox.dll подключить статически.
------------------------------------------------------------------
Код:
...
var OpenInterf:cardinal;

implementation

{$R *.dfm}
{N+,E+} // так содрал с руководства Фараонова

Procedure ibcClearControllerList; Far; External 'Isabox.dll';
Procedure ibcClearInterfaceList;  Far; External 'Isabox.dll';

Function ibcOpenInterface(Com:byte;baud:longint;p:pointer):cardinal; Far; External 'Isabox.dll';
Function ibcOpenController(handle:longint;adr:longint;adr0:longint;adr1:longint):cardinal; Far; External 'Isabox.dll';

procedure TForm1.Button1Click(Sender: TObject);
begin
 ibcClearControllerList();
 ibcClearInterfaceList();
 OpenInterf:=ibcOpenInterface(COM2,115200,nil);// на этом загвоздка.Выдает error

end;

lmikle: пользуем теги!!!

Вот и все.При пошаговой отладке две первые команды проходят,а третья выдает ошибку.В чем дело не знаю.Может я типы неправильно назвал или записал не так?
Может кто из опытных ребят поможет привести модуль в рабочий вид?
Заранее всем спасибо.

userlife
Ответить с цитированием