На выходах не набл. сигнал.
Код:
#include <windows.h>
#include <objbase.h>
#include <initguid.h>
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include "C:/Program Files/L-Card/LIBRARY/include/ioctl.h"
#include "C:/Program Files/L-Card/LIBRARY/include/ifc_ldev.h"
#include "wlcomp.h"
#include "create.h"
#pragma hdrstop
#pragma argsused
void main()
{HINSTANCE hLib = LoadLibrary ("lcomp.dll");
if (hLib == 0)
{cout << "Unable to load library "lcomp.dll"!" << endl;
getch();
return;
}
CREATEFUNCPTR CreateInstance;
CreateInstance = (CREATEFUNCPTR) GetProcAddress (hLib, "CreateInstance");
if (CreateInstance == 0)
{cout << "Unable to load function "CreateInstance"!" << endl;
getch();
return;
}
LUnknown *pIUnknown = CreateInstance(0);
if (pIUnknown == 0)
switch (GetLastError())
{case L_ERROR_NOBOARD: cout << "V zaprashivaemom slote net plati!" << endl; getch(); return;
case L_ERROR_INUSE: cout << "Plata v etom slote uge ispolzuetsja kem-to!" << endl; getch(); return;
case L_ERROR: cout << "Nevozmogno sozdat object!" << endl; getch(); return;
case L_NOTSUPPORTED: cout << "V slote ustanovlena plata, kotoraja ne poddergivaetsja dannoj bibliotekoj!" << endl; getch(); return;
}
IDaqLDevice *pI;
HRESULT hr = pIUnknown->QueryInterface(IID_ILDEV,(void**)&pI);
if (!SUCCEEDED(hr)) {cout << "Get IDaqLDevice failed" << endl; getch(); return;}
pIUnknown->Release();
printf("------------- The begin of work! ------------");
printf("/n------------------ Status -------------------");
printf("/nhandle %x",pI->OpenLDevice());
printf("/nload status %d",pI->LoadBios("l780"));
printf("/nplata test %d",pI->PlataTest());
PLATA_DESCR pd; // Ñòðóêòóðà îïèñûâàåò FLASH íà PCI ïëàòàõ L-761/L-780/L-783.
pI->ReadPlataDescr(&pd); // fill up properties
// äëÿ PCI ïëàò áîëåå ïîäðîáíóþ èíôîðìàöèþ, ÷åì GetSlotParam, äà¸ò ReadPlataDescr
printf("/n------------------ FLASH --------------------");
printf("/nSerNum %s",pd.SerNum);
printf("/nBrdName %s",pd.BrdName);
printf("/nRev %c",pd.Rev);
printf("/nDspType %s",pd.DspType);
printf("/nIsDacPresent %d",pd.IsDacPresent);
printf("/nQuartz %d",pd.Quartz);
SLOT_PAR sl;
pI->GetSlotParam(&sl);
printf("/n------------- Slot parameters ---------------");
printf("/nBase %8x", sl.Base);
printf("/nBaseL %8x", sl.BaseL);
printf("/nMem %8x", sl.Mem);
printf("/nMemL %8x", sl.MemL);
printf("/nType %8x", sl.BoardType);
printf("/nDSPType %8x", sl.DSPType);
printf("/nIrq %8x", sl.Irq);
printf("/n-- Loading of the parameters of IO_DATA... --");
ASYNC_PAR h_sp;
USHORT h_s_Type=L_ASYNC_ADC_INP;
double h_dRate = 1; // êÃö
USHORT h_NCh = 1;
USHORT h_FIFO = 1024;
USHORT h_IrqStep = 1024;
USHORT h_Pages = 32;
USHORT h_Mode = 0;
h_sp.s_Type=h_s_Type;
USHORT u=10;
for(int i=0;i<128;i++)
h_sp.Data[i]=u;
h_sp.dRate=h_dRate;
h_sp.NCh=h_NCh;
h_sp.Chn[0]=0x0;
h_sp.FIFO=h_FIFO;
h_sp.IrqStep=h_IrqStep;
h_sp.Pages=h_Pages;
h_sp.Mode=h_Mode;
printf("/n-------------- Vivod na ACP... --------------");
while(1)
{for(int i=0;i<10000;i++)
pI->IoAsync(&h_sp);
}
printf("/n----------------- Complete! -----------------");
printf("/n------------- The end of work... ------------");
pI->CloseLDevice();
pI->Release();
FreeLibrary(hLib);
getch();
}