loadlibrary('MPS_Driver_x64.dll','MPS_Driver_x64.h');
clc
Handle = calllib('MPS_Driver_x64', 'MPS_OpenDevice',0);
Device = char(zeros(1,64));
[Flag,Device] = calllib('MPS_Driver_x64', 'MPS_GetDeviceDescriptor',Device,64,Handle)
if Flag == 0
error('DeviceError!');
end
if Device == 'MPS-HD2404'
Channel = 4
end
if Device == 'MPS-HD2408'
Channel = 8
end
if Device == 'MPS-HD2416'
Channel = 16
end
SampleRate = 64000
DIOMode = 0;
Flag = calllib('MPS_Driver_x64', 'MPS_Configure',SampleRate, DIOMode, Handle);
Timeout_ms = 5000;
Flag = calllib('MPS_Driver_x64', 'MPS_TimeOut',Timeout_ms, Handle);
if DIOMode ~= 2
Flag = calllib('MPS_Driver_x64', 'MPS_Start', Handle);
end
i = 10;
while(i)
i = i - 1;
SampleTime_s = 0.5;
SampleNumber = idivide(SampleTime_s* double(SampleRate), int32(128)/Channel, 'ceil') * (128 / Channel);
DataInt = zeros(Channel,SampleNumber,'int32');
[Flag,DataInt] = calllib('MPS_Driver_x64', 'MPS_DataIn',DataInt, SampleNumber*Channel, Handle);
DataFloat = double(DataInt) * double(5.16) / double(8388608);
PointNumber = 1000;
xinterval = idivide(SampleNumber , PointNumber, 'floor');
xmax = xinterval * PointNumber;
xaxis = linspace(0, SampleTime_s, PointNumber);
if Channel == 4
plot(xaxis,DataInt(1,1:xinterval:xmax),xaxis,DataInt(2,1:xinterval:xmax),xaxis,DataInt(3,1:xinterval:xmax),xaxis,DataInt(4,1:xinterval:xmax))
end
if Channel == 8
plot(xaxis,DataInt(1,1:xinterval:xmax),xaxis,DataInt(2,1:xinterval:xmax),xaxis,DataInt(3,1:xinterval:xmax),xaxis,DataInt(4,1:xinterval:xmax),xaxis,DataInt(5,1:xinterval:xmax),xaxis,DataInt(6,1:xinterval:xmax),xaxis,DataInt(7,1:xinterval:xmax),xaxis,DataInt(8,1:xinterval:xmax))
end
if Channel == 16
plot(xaxis,DataInt(1,1:xinterval:xmax),xaxis,DataInt(2,1:xinterval:xmax),xaxis,DataInt(3,1:xinterval:xmax),xaxis,DataInt(4,1:xinterval:xmax),xaxis,DataInt(5,1:xinterval:xmax),xaxis,DataInt(6,1:xinterval:xmax),xaxis,DataInt(7,1:xinterval:xmax),xaxis,DataInt(8,1:xinterval:xmax),xaxis,DataInt(9,1:xinterval:xmax),xaxis,DataInt(10,1:xinterval:xmax),xaxis,DataInt(11,1:xinterval:xmax),xaxis,DataInt(12,1:xinterval:xmax),xaxis,DataInt(13,1:xinterval:xmax),xaxis,DataInt(14,1:xinterval:xmax),xaxis,DataInt(15,1:xinterval:xmax),xaxis,DataInt(16,1:xinterval:xmax))
end
drawnow
end
Flag = calllib('MPS_Driver_x64', 'MPS_CloseDevice', Handle);
警告: 库类 'MPS_Driver_x64' 已存在。请使用类名别名。
Flag =
0
Device =
空的 0×0 char 数组
错误使用 MPS_HDxxxxTest (第 22 行)
DeviceError!