    Visual C++ 2005 サンプルプログラム

        下記サンプルプログラムはプロジェクトのライブラリにvisa32.libを追加してビルドしてください

        設定と問い合わせのサンプルプログラム(USB)

    	#include "stdio.h"
    	#include "string.h"
    	#include "visatype.h"
    	#include "visa.h"

    	// ファンクションジェネレータの製造番号

    	#define serial "0123456"

    	int main()
    	{
    		ViSession defaultRm, instr;
    		// VISAのResourceManagerオブジェクトを作成
    		ViStatus status = viOpenDefaultRM(&defaultRm);
    		if (status < VI_SUCCESS)
    		{
    			// 初期化エラー
    			return -1;
    		}
    		ViChar rsc[256];
                      // USB
                      // WF1973の場合、"USB0::0x0D4A::0x000D::%s::INSTR" としてください
                      // WF1974の場合、"USB0::0x0D4A::0x000E::%s::INSTR" としてください
    		sprintf(rsc, "USB0::0x0D4A::0x000D::%s::INSTR", serial);
    		ViAccessMode accessMode = VI_NO_LOCK;
    		ViUInt32 timeout = 0;
    		// デバイスを開く
    		viOpen(defaultRm, rsc, accessMode, timeout, &instr);
    		ViUInt32 count;

    		// 周波数を5.0kHzに設定し、その値を問い合わせる
    		ViBuf buf = (ViBuf)":SOUR1:FREQ 5000;:SOUR1:FREQ?\n";
    		viWrite(instr, buf, (ViUInt32)strlen((ViPChar)buf), &count);
    		ViChar result[257];
    		viRead(instr, (ViPBuf)result, 256, &count);
    		result[count] = 0;
    		printf("result=[%s]\n", result);

    		// デバイスを閉じる
    		viClose(instr);
    		viClose(defaultRm);

    		return 0;
    	}

        設定と問い合わせのサンプルプログラム(GPIB)

    	#include "stdio.h"
    	#include "string.h"
    	#include "math.h"
    	#include "visatype.h"
    	#include "visa.h"

    	int main()
    	{
    		ViSession defaultRm, instr;
    		// VISAのResourceManagerオブジェクトを作成
    		ViStatus status = viOpenDefaultRM(&defaultRm);
    		if (status < VI_SUCCESS)
    		{
    			// 初期化エラー
    			return -1;
    		}
    		ViChar rsc[256];
                      // (GPIB address:2)
    		strcpy(rsc, "GPIB0::2::INSTR");
    		ViAccessMode accessMode = VI_NO_LOCK;
    		ViUInt32 timeout = 0;
    		// デバイスを開く
    		viOpen(defaultRm, rsc, accessMode, timeout, &instr);

                      ViUInt32 count;
    		// オフセット 0.0V、振幅 20.0Vp-p、出力 オンを設定し、振幅の値を問い合わせる
    		ViBuf buf = (ViBuf)":SOUR1:VOLT:OFFS 0V;:SOUR1:VOLT 20VPP;OUTP1 1;:SOUR1:VOLT?\n";
    		viWrite(instr, buf_rst, (ViUInt32)strlen((ViPChar)buf), &count);
    		result[count] = 0;
    		printf("result=[%s]\n", result);

    		// デバイスを閉じる
    		viClose(instr);
    		viClose(defaultRm);

    		return 0;
    	}