DSA800 series programming guide - Page 229

For DSA815.

Loading ...
Loading ...
Loading ...
Chapter 3 Programming Demos RIGOL
DSA800 Programming Guide 3-7
//Close the system
status = viClose(instr);
status = viClose(defaultRM);
return bWriteOK;
}
2) Encapsulate the read operation of VISA for easier operation.
bool CDemoForDSADlg::InstrRead(CString strAddr, CString *pstrResult) //Read operation
{
ViSession defaultRM,instr;
ViStatus status;
ViUInt32 retCount;
char * SendAddr = NULL;
unsigned char RecBuf[MAX_REC_SIZE];
bool bReadOK = false;
CString str;
// Change the address's data style from CString to char*
SendAddr = strAddr.GetBuffer(strAddr.GetLength());
strcpy(SendAddr,strAddr);
strAddr.ReleaseBuffer();
memset(RecBuf,0,MAX_REC_SIZE);
//Open a VISA resource
status = viOpenDefaultRM(&defaultRM);
if (status < VI_SUCCESS)
{
// Error Initializing VISA...exiting
AfxMessageBox("No VISA resource was opened!");
return false;
}
//Open the instrument
status = viOpen(defaultRM, SendAddr, VI_NULL, VI_NULL, &instr);
//Read from the instrument
status = viRead(instr, RecBuf, MAX_REC_SIZE, &retCount);
//close the system
status = viClose(instr);
status = viClose(defaultRM);
(*pstrResult).Format("%s",RecBuf);
return bReadOK;
}
3) Encapsulate the the read operation with exception handling function of VISA.
ViStatus CDemoForDSADlg::OpenVisaDevice(CString strAddr) //Open a VISA device
{
ViStatus status;
char * SendAddr = NULL;
// Change the address's data style from CString to char*
SendAddr = strAddr.GetBuffer(strAddr.GetLength());
strcpy(SendAddr,strAddr);
Loading ...
Loading ...
Loading ...