Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


L-783 visual c++ 6.0

Вы не вошли.

 Поиск | Регистрация | Вход 

Oleg
17.03.2010 10:12:24
#1

Гость

L-783 visual c++ 6.0

Здравствуйте работаю с платой l783
проект на visual c++6.0
код программы:
#include <windows.h>
#include <stdlib.h>
#include <iostream.h>
#include <stdio.h>

#include "create.cpp"
#include "lguids.cpp"
#include "create.h"
#include "ifc_ldev.h"

int main()
{
ADC_PAR adcPar;
DAC_PAR dacPar;
PLATA_DESCR_U2 pd;
SLOT_PAR sl;
ULONG slot=1;
USHORT d;
    cout <<"Get UIPointer//n";

CallCreateInstance("lcomp.dll");
LUnknown* pIUnknown = CreateInstance(slot);
   if(pIUnknown == NULL) { cout << "CallCreateInstance failed" << endl; return 1; }
cout<<"Get LdaqLdevice interface//n";
IDaqLDevice *pI;
HRESULT hr = pIUnknown->QueryInterface(IID_ILDEV,(void**)&pI);
if(!SUCCEEDED(hr)) { cout << "Get IDaqLDevice failed" << endl; return 1; }
   cout << "IDaqLDevice get success" << endl;
  pIUnknown->Release();
   cout << "OpenLDevice Handle " << hex << pI->OpenLDevice() << endl;
   cout << "LoadBios status    " << pI->LoadBios("l783") << endl;
   cout << "Plata test         " << pI->PlataTest() << endl;
   cout << endl << "Slot parameters" << endl;   

pI->CloseLDevice();
pI->Release();
return 0;
}
возникает 2 ошибки:
//lcard//ifc_ldev.h(15) : error C2011: //'IDaqLDevice//' : //'struct//' type redefinition
//lcard//ifc_ldev.h(15) : error C2011: //'IDaqLDevice//' : //'struct//' type redefinition
Мне сказали что это многократное включения заголовочного файла ifc_ldev.h,
в начале кода я добавил:
#ifndef  _ifc_ldev_h_ // если макрос ещё не определен,то
#define _ifc_ldev_h_ // определяем его
#endif
Ничего не изменилось
Скажите в чем проблема? заранее спасибо!

17.03.2010 11:01:49
#2

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: L-783 visual c++ 6.0

cpp файлы надо в проект добавлять, а не include делать...

Oleg
17.03.2010 11:16:19
#3

Гость

Re: L-783 visual c++ 6.0

//#include "create.cpp"
//#include "lguids.cpp"
#include "create.h"
#include "ifc_ldev.h"
Уже добавил, возникло 6 ошибок
//myprojects//lcard//create.h(4) : error C2143: syntax error : missing //';//' before //'*//'
//myprojects//lcard//create.h(4) : error C2501: //'CREATEFUNCPTR//' : missing storage-class or type specifiers
//myprojects//lcard//create.h(8) : error C2146: syntax error : missing //';//' before identifier //'CreateInstance//'
myprojects//lcard//create.h(8) : error C2373: //'CREATEFUNCPTR//' : redefinition; different type modifiers
myprojects//lcard//create.h(4) : see declaration of //'CREATEFUNCPTR//'
//myprojects//lcard//create.h(8) : fatal error C1004: unexpected end of file found
что делать???

17.03.2010 11:59:59
#4

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: L-783 visual c++ 6.0

Ну а create.cpp и lguids.cpp пути в include какие остались?

Oleg
17.03.2010 12:12:59
#5

Гость

Re: L-783 visual c++ 6.0

Сейчас добавил несколько Инклудов в итоге у меня такие заголовочные файлы:
#include "ioctl.h"
#include "ifc_ldev.h"
#include "create.h"
#include "pcicmd.h"
вроде пока что всё работает, спасибо огромное!)

Oleg
18.03.2010 11:45:54
#6

Гость

Re: L-783 visual c++ 6.0

Вот код программы, как можно сгенерировать импульс с ЦАПА??
#include <windows.h>
#include <stdlib.h>
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
//#include "create.cpp"
//#include "lguids.cpp"
#include "ioctl.h"
#include "ifc_ldev.h"
#include "create.h"
ULONG slot;
ULONG db;
SLOT_PAR sl;
PLATA_DESCR_U pd;
DAC_PAR dacPar;
USHORT *data1; // for USB stream and PCI internal RAM
ULONG *sync1;
int main()
{
cout <<"Get UIPointer//n";
CallCreateInstance("lcomp.dll");
LUnknown* pIUnknown = CreateInstance(slot);
   if(pIUnknown == NULL) { cout << "CallCreateInstance failed" << endl; return 1; }
cout<<"Get LdaqLdevice interface//n";
IDaqLDevice *pI;
HRESULT hr = pIUnknown->QueryInterface(IID_ILDEV,(void**)&pI);
if(!SUCCEEDED(hr)) { cout << "Get IDaqLDevice failed" << endl; return 1; }
   cout << "IDaqLDevice get success" << endl;
   pIUnknown->Release();
   cout << "OpenLDevice Handle " << hex << pI->OpenLDevice() << endl;
   cout << "LoadBios status    " << pI->LoadBios("l783") << endl;
   cout << endl << "Slot parameters" << endl;   
   pI->GetSlotParam(&sl);
   cout << "Base    " << hex << sl.Base << endl;
   cout << "BaseL   " << sl.BaseL << endl;
   cout << "Mem     " << sl.Mem << endl;
   cout << "MemL    " << sl.MemL << endl;
   cout << "Type    " << sl.BoardType << endl;
   cout << "DSPType " << sl.DSPType << endl;
   cout << "Irq     " << sl.Irq << endl;
pI->ReadPlataDescr(&pd); // fill up properties
cout << "SerNum       " << pd.t1.SerNum << endl;
cout << "BrdName      " << pd.t1.BrdName << endl;
cout << "Rev          " << pd.t1.Rev << endl;
cout << "DspType      " << pd.t1.DspType << endl;
cout << "IsDacPresent " << pd.t1.IsDacPresent << endl;
cout << "Quartz       " << dec << pd.t1.Quartz << endl;
   cout << endl << "Press any key" << dec << endl;
   _getch();
dacPar.t1.s_Type = L_DAC_PARAM;
dacPar.t1.AutoInit = 0;
dacPar.t1.dRate = 100.0;
dacPar.t1.FIFO = 512;
dacPar.t1.IrqStep= 512;
dacPar.t1.Pages=2;
dacPar.t1.IrqEna=0;
dacPar.t1.DacEna=1;
dacPar.t1.DacNumber=0;
pI->FillDAQparameters(&dacPar.t1);
db = 512000;
pI->RequestBufferStream(&db,L_STREAM_DAC);
pI->SetParametersStream(&dacPar.t1,&db,(void **)&data1, (void **)&sync1, L_STREAM_DAC);
   for(DWORD i = 0x0;i < (2*dacPar.t1.FIFO); i += 0x2)
    {
        data1[i + 0x0]=((USHORT)(2047.0*sin((8.0*(3.1415*i)/1024.0)))&0xFFF)|0x0000;
       data1[i + 0x1]=((USHORT)(2047.0*sin((8.0*(3.1415*i)/1024.0)))&0xFFF)|0x1000;
    }
pI->InitStartLDevice();
pI->StartLDevice();
   pI->CloseLDevice();
   pI->Release();
   cout << "Exit" << endl;
   return 0;
}

18.03.2010 12:10:58
#7

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: L-783 visual c++ 6.0

А сейчас он что генерирует?

Oleg
19.03.2010 09:25:16
#8

Гость

Re: L-783 visual c++ 6.0

ничего не генерирует, осциллограф показвыает "0".

19.03.2010 09:34:16
#9

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: L-783 visual c++ 6.0

Пример L7XX.OSC за основ возьмите. И без запуска АЦП ЦАП не будет работать...

Oleg
19.03.2010 11:15:42
#10

Гость

Re: L-783 visual c++ 6.0

А можно взять пример L7XX.TST я по нему делаю...
получилось только вывести данные карты и настройки ЦАП, сейчас попробую АЦП запустить спасибо!

19.03.2010 12:41:56
#11

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: L-783 visual c++ 6.0

в том что я дал есть просто код программирования ЦАП...