USB接口系列放大器编程说明
老用户请注意:我公司生产的USB接口系列放大器已经升级到5.0,驱动程序及动态连接库已经更新,给您带来的不便请您谅解,如果使用中问题发现问题请及时与我们联系。电话:82755026/27/28/29/30 邮件地址:symtop@symtop.com。
本说明适用于我公司生产的所有USB接口系列放大器。
UB-nT是我公司开发的USB总线传输数据的生物电放大器,UE-nT是我公司开发的USB总线传输数据的脑电放大器。其中n表示导数,T代表类型。你可以用动态连接库中的ReadDevice函数查询放大器设备信息。我们在产品外表面有放大器型号的标示,请确认无误后使用。
UB-nT生物电放大器及UE-nT脑电放大器可与各种提供USB接口的台式机、笔记本电脑连接构成高性能的数据采集系统。我公司提供放大器专用动态连接库EEGAMP.DLL,。此动态连接库提供了非常简单的编程接口。编译时加入EEGGAMP.H和EEGAMP.LIB。我公司生产的所有系列的放大器统一使用这个动态连接库。动态连接库当前版本为4.0.0.0 ,请查看EEGAMP.DLL文件属性中的版本信息。
一. 函数一览
OpenDevice CloseDevice ReadData ReadParam WriteParam ValidateClientID ReadDevice ReadParamEx WriteParamEx
打开放大器; 关闭放大器;
从放大器读取数据; 从放大器读取参数; 向放大器写入参数; 验证客户识别号; 读取设备信息;
从放大器读取某一类型的参数 向放大器写入某一类型的参数
二. 函数的详细说明
1.OpenDevice
函数形式:
HANDLE OpenDevice();
说 明:该函数打开放大器,取得放大器设备句柄。执行其他操作前应首先调用该函数获得放大器设备句柄。 输入参数:无
返 回 值:放大器设备句柄。如果返回值为INVALID_HANDLE_VALUE,说明放大器打开失败。在调用其他函数时使用此设备句柄。
2.CloseDevice
函数形式:
BOOL CloseDevice(HANDLE hDevice);
说 明:该函数关闭放大器。在放大器停止使用前应调用该函数。 输入参数:打开放大器时得到的设备句柄。 返 回 值:标识设备是否正常关闭。
3.ReadData
函数形式:
BOOL ReadData(HANDLE hDevice,short* pBuffer,ULONG *nCounts); 说 明:该函数用于读取放大器数据。
输入参数:hDevice 打开放大器时得到的设备句柄
pBuffer 存贮读到数据的缓冲区地址,共有10次采样数据连续存放。
①对于非FS、FZ、FX型号的放大器,每次数据为n(n为标称通道数)个16位有符号数(1个单位代表0.5微伏) ,此缓冲区大小应分配为10*n*2字节。②对于FS、FZ、FX型号的放大器,每次数据为n+1(n为标称通道数)个16位有符号数(1个单位代表0.5微伏) ,此缓冲区大小应分配为10*(n+1)*2字节。应用程序必须保证在10ms(1000Hz采样率)或9.7ms(1024Hz采样率)内读取最新数据,否则数据自动刷新。
nCounts 读取到的数据个数。 返 回 值:标识从放大器读取数据是否成功。
注意:FS、FZ、FX包含1导标记数据,附加在每次普通采样数据的最后,大小为2个字节,高字节为标记类型,低字节为标记值。目前只有一种标记数据——同步信号输入。 序号 1 2 3 4
高字节 0X00 0X01 低字节 0X00 0X01 含义 标记数据无效 有同步信号输入 4.ReadParam
函数形式: STRU_PARAM ReadParam(HANDLE hDevice); 说 明:该函数用于从放大器读取参数。
输入参数:hDevice 打开放大器时得到的设备句柄 返 回 值:包含放大器参数的STRU_PARAM结构。
5.WriteParam
函数形式:
BOOL WriteParam(HANDLE hDevice,STRU_PARAM OutData); 说 明:该函数用于向放大器写入参数。
输入参数:hDevice 打开放大器时得到的设备句柄 OutData STRU_PARAM结构
返 回 值:标识向放大器写入数据是否成功。
6.ValidateClientID
函数形式:
BOOL ValidateClientID(HANDLE hDevice,unsigned short nClientID); 说 明:该函数用于验证客户标识号;
输入参数:hDevice 打开放大器时得到的设备句柄 nClientID:客户标示号 返 回 值:标识验证是否成功。
7.ReadDevice
函数形式:
STRU_DEVICE_INFO ReadDeviceInfo(HANDLE hDevice); 说 明:该函数用于读取设备信息;
输入参数:hDevice 打开放大器时得到的设备句柄 返 回 值:设备信息。
8.ReadParamEx
函数形式:
BOOL ReadParamEx(HANDLE hDevice,short nParamType,short* pBuffer,short* nSize);
说 明:该函数用于从放大器读取某一类型的参数。 输入参数:hDevice: 打开放大器时得到的设备句柄 nParamType:参数类型 1-设备信息 2-放大器参数 4-采样率 pBuffer: 存贮读到数据的缓冲区地址,数据顺序与对应结构相同 nSize: 返回的有效数据字节数 返 回 值:读取数据是否成功。
9.WriteParamEx
函数形式:
BOOL ReadParamEx(HANDLE hDevice,short nParamType,short* pBuffer,short nSize); 说 明:该函数用于向放大器写入某一类型的参数。 输入参数:hDevice: 打开放大器时得到的设备句柄 nParamType:参数类型 2-放大器参数 3-阻抗检测LED控制 4-采样率 pBuffer: 存贮数据的缓冲区地址,数据顺序与对应结构相同;
LED控制数据与通道顺序相同,需要点亮设为1,需要关闭设为0;
nSize: 有效数据字节数 返 回 值:写入数据是否成功。
注:ReadParamEx、WriteParamEx
1-设备信息 :只读类型,8字节
2-放大器参数:读写类型,16字节 ,参数顺序为结构定义中的顺序。
3-阻抗检测LED控制:只写类型,最大128字节,每两个字节控制一个通道的LED,0代表灭,1代表亮。
4-采样率:读写类型,2字节。1000代表1000Hz采样率,1024代表1024Hz采样率;默认采样率为1000Hz。如果你使用1024Hz采样率,请在每次调用OpenDevice()之后设置一次采样率。
中参数类型的说明
三、结构定义:
1、 设备信息
typedef struct _DEVICEINFO_ {
unsigned short nRouteNum; //通道数 FS、FZ、FX附加1导标记数据 unsigned short nType; //类型 1-A 、2-B、3-C、4-A1、5-FZ、6-F、7-BZ、8-CZ、9-FS、10-FX unsigned short nDeviceID; //设备编号
unsigned short nSwitchNo; //拨码开关标示号
}STRU_DEVICE_INFO,*P_STRU_DEVICE_INFO;
注意:FS、FZ、FX包含1导标记数据,附加在每次普通采样数据的最后,大小为2个字节,高字
节为标记类型,低字节为标记值。因此读到的通道数比型号中标记的通道数多1。
2、参数
typedef struct _PARAM {
unsigned short nSenseDegree; unsigned short nHightFre; unsigned short nTimeConstant; unsigned short nWorkFre; unsigned short nModeOfSign; unsigned short nGateOfJam; unsigned short nHold1; unsigned short nHold2; }STRU_PARAM,*P_STRU_PARAM;
各成员变量含义如下: ? nSenseDegree: 非各导可分别设置型:
① 写脑电参数时,设置为零;写入扩展通道参数时,高8位为零,低8位为N(N
为该扩展通道的序号)。
② 读脑电参数时,高8位为1,低8位为0,其他参数设为0,写入一次;然后读
取参数返回的是脑电参数;读扩展通道参数时,高8位为1,低8位为N(N为该扩展通道的序号),其他参数设为0,写入一次;然后读取参数返回的是相应扩展通道参数; 各导可分别设置型:
① 写参数时,若设置为零,写入的参数对所有得通道有效;若高8位为零低8位
为N,写入的参数对第N通道有效。 ② 读第N通道的参数时,首先设置高8位为1,第8位设置为N,其他参数设为0,
写入一次;然后读取的参数返回的是第N通道的参数。 ? nHightFre 高频滤波:可以设置为15、30、45、60、120(默认值为30),分别
对应 15Hz、30Hz、45Hz、60Hz、120Hz(默认值为30Hz);
相关推荐: