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