
Using MATLAB's Interface for External Libraries
1MA171_5e Rohde & Schwarz How to use Rohde & Schwarz Instruments in MATLAB
®
25
break
end
%% read trace
instr_trace = 1;
instr_timeoutMs = 15000;
instr_arrayLen = instr_sweepPoints;
instr_arrayActualLen = -1;
instr_amplitude = zeros(instr_arrayLen,1);
[err, instr_arrayActualLen, instr_amplitude] = calllib(vxipnpLib,
'rsspecan_ReadYTrace', instr_session, instr_window, instr_trace,
instr_timeoutMs, instr_arrayLen, instr_arrayActualLen, instr_amplitude);
if ( err )
break
e
nd
%
do something
p
lot(instr_amplitude)
%
% cleanup
[err] = calllib(vxipnpLib, 'rsspecan_close', instr_session);
if ( err )
b
reak
end
%exit loop
break
end
%% evaluate error
if ( err )
errCode = err;
errLen = 1024;
errMsg = zeros(errLen,1);
disp( '*** Error occured' );
% In the case that a session got created we evaluate the error further
if ( instr_session ~= 0 )
[errCode, errMsg] = calllib( vxipnpLib, 'rsspecan_error_message',
instr_session, err, errMsg );
errString = sprintf('%s', char(errMsg));
disp( errString );
errMsg = '';
[DummyErr, errCode, errMsg] = calllib( vxipnpLib,
'rsspecan_error_query', instr_session, errCode, errMsg );
errString = sprintf('%d: %s', errCode, char(errMsg));
disp( errString );
% ... and we must make sure to disconnect from this device !
calllib( vxipnpLib, 'rsspecan_close', instr_session );
end
end
%% clean up
unloadlibrary(vxipnpLib);
clear all
Kommentare zu diesen Handbüchern