新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于HP-VISA庫的VXI總線測試應(yīng)用編程

基于HP-VISA庫的VXI總線測試應(yīng)用編程

作者: 時間:2013-03-30 來源:網(wǎng)絡(luò) 收藏

  /*下面一段代碼為無格式I/O函數(shù)演示
    ViWrite(Vi,(ViBuf)“RST\n”,5,actual);//設(shè)備初始化
    ViWrite(Vi,(ViBuf)“CALC∶DBM∶REF50\n”,16,actual);//直流電壓測量
    ViWrite(Vi,(ViBuf)“MEAS∶VOLT∶AC?1,0.001\n”23,actual);
    ViWrite(Vi,(ViBuf)strres,20,actual); //讀出測量結(jié)果
    strres[actual]=0;  //用空字符結(jié)束串
    printf(“MeasurementResults:%s\n”,strres);
  */
  //利用屬性設(shè)置函數(shù)激活觸發(fā)線
  ViSetAttribute(Vi,VI-ATTR-TRIG-ID,VI-TRIG-TTLO);
  ViInstallHandler(Vi,VI-EVENT-TRIG,myHdlr,(ViAddr)10);//裝載事件句柄
  ViEnableEvent(vi,VI-EVENT-TRIG,VI-HNDLR,VI-NULL);//設(shè)置事件為允許
  ViAssertTrigger(Vi,VI-TRIG-PROT-SYNC);//引發(fā)觸發(fā)線
  ViDisableEvent(Vi,VI-EVENT-TRIG,VI-HNDLR);//處理完成,設(shè)置事件禁止
  ViUninstallHandler(Vi,VI-EVENT-TRIG,myHdlr,(ViAddr)10);//卸載事件句柄
  ViUnlock(Vi);//解鎖
  ViClose(Vi);//關(guān)閉設(shè)備會話
  ViClose(DefaultRM);//關(guān)閉資源管理器會話
  }
  //觸發(fā)器事件句柄函數(shù)
  ViStatus-VI-FUNCHmyHdlr(ViSessionVi,ViEventTypeeventType,VIEventctx,ViAddreserHdlr)
  {
  ViInt16trigId;
  if(eventType!-VI-EVENT-TRIG){  //檢查事件類型
  returnVI-SUCCESS; }  //其它事件被忽略
  printf(“TriggerEventOccurred!\n.OriginalDeviceSession=%ld\n”,Vi”);
  //通過屬性讀取函數(shù),獲取被引發(fā)的觸發(fā)器
  ViGetAttribute(ctx,VI-ATTR-RECV-TRIG-ID,trigId);
  printf(“Triggerthatfired:”);
  switch(trigId){  caseVI-TRIG-TTLO:
           printf(“TTLO”);
           break;
           default
           printf(“<o(jì)therOx%x>”,trigId);
           break;
  }
  printf(“\n”);
  returnVI-SUCCESS;
  }
三、小結(jié)
  VISA標(biāo)準(zhǔn)及庫的開發(fā)為用戶提供了簡捷易用的函數(shù)接口,有效地提高了應(yīng)用開發(fā)效率,并能保證一致性與良好的可移植性。而功能還處于不斷的完善和發(fā)展中,是一種有別于已有I/O軟件標(biāo)準(zhǔn)的大有前途的I/O軟件標(biāo)準(zhǔn)構(gòu)架。

參考文獻(xiàn)

1 HPVISAUser’sGuide
2 VISA-虛擬儀器軟件構(gòu)架的結(jié)構(gòu)及應(yīng)用?!秶怆娮訙y量技術(shù)》1997.NO.1

c++相關(guān)文章:c++教程



上一頁 1 2 3 下一頁

關(guān)鍵詞: HP-VISA庫 VXI 總線測試

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉