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