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


0-й канал ЦАП

Вы не вошли.

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

Денис
14.06.2006 14:40:04
#1

Гость

0-й канал ЦАП

dacPar.t1.s_Type = L_DAC_PARAM;
   dacPar.t1.AutoInit=1;
   dacPar.t1.dRate=10;
   dacPar.t1.FIFO=256;
   dacPar.t1.IrqStep=256;
   dacPar.t1.Pages=2;
   dacPar.t1.IrqEna=1;
   dacPar.t1.DacEna=1;
   int i;

   printf("/n FillDAC returned %d", pI->FillDAQparameters(&dacPar.t1));
   
    printf("/nRate     %f", dacPar.t1.dRate);
    printf("/nFIFO,IRQ     %d--%d", dacPar.t1.FIFO, dacPar.t1.IrqStep);
   ULONG db=5000;
   printf("/n ReqBuff returned %d", pI->RequestBufferStream(&db, L_STREAM_DAC));
   
   printf("/n SetPars returned %d", pI->SetParametersStream(&dacPar.t1,&db, (void **)&data1, (void **)&sync1,L_STREAM_DAC));
   
    dacPar.t1.Pages);
    printf("/nBufSize     %d", db);
   for(i=0;i<512;i++)
    data1[i] sad(USHORT)2047&0xFFF) | (0<<12);
В приведенном коде на 0 канал после подачи команды StartLDevice упорно выводится 2,5 вольт. Если поставить 1<<12, то на 1-м канале будет 5 вольт. Что к чему?
И еще одна особенность. Если задан вывод 0-го канала, то после выполнения StartLDevice устанавливается напряжение в 2 раза меньше требуемого. После StopL и CloseL оно сохраняется, НО после повторного запуска приложения и загрузки биоса, но до StartL на 0 канале выставляется то, что должно было быть при предыдущем запуске, т.е. в данном контексте 5 вольт. С 1-м каналом все работает как надо. После StartL выставляется требуемое напряжение, После завершения приложения это напряжение сохраняется, после загрузки БИОС напряжение равно 0. А вот что происходит с 0-м каналом - непонятно. Объясните плз.