1.找到并引用设备的API自带DLL:mpdev.dll 和 xerces-c_3_1.dll
2.调用API自带的命名空间:namespace Biopac.API.MPDevice
其中,需要填入
public enum MPTYPE
{
MP150 = 101,
MP36,
MP160 //需要手动新增
}
3.连接设备:int retval = MP.connectMPDev(MPTYPE.MP160, MPCOM.MPUDP, "AUTO"); //可指定S/N连接,这里使用“AUTO”连接
4.设定采样率:retval = MP.setSampleRate(1000*1.0f/SampleRate); // 参数是:取一个样本点所需的时间 ,单位ms
5.选取采样的信号通路:
bool[] CH = {false, false, false, false,
false, false, false, false,
false, false, false, false,
false, false, false, false}; //共可以采集4x4路信号
CH[n] = true; //选取n通道的数据,对应通道的标号是n+1
retval = MP.setAcqChannels(CH);
6.高级取数方式:设定一个虚拟服务器
retval = MP.startMPAcqDaemon();
if (retval != MPCODE.MPSUCCESS)
{
Console.WriteLine("虚拟服务器启动失败:" + System.DateTime.Now);
MP.stopAcquisition();
MP.disconnectMPDev();
}
retval = MP.startAcquisition();
7.在定时器timer中取数
double[] buffer = new double[2000* 1* 5];//(采样率,通道个数,执行次数)
int readNum=buffer.Length;
if (MP.receiveMPData(buffer, buffer.Length, out readNum) != MPCODE.MPSUCCESS)
{
abortAcquisition();
Console.WriteLine("取数时异常!");
return;
}
8.数据处理
根据项目所需,对采集出的数据进行处理......
【思路指南,仅供参考】