资源描述
USB-DMP302
USB-DMP316
USB-DMP316L
使 用 手 册
¨ USB1.1兼容USB2.0总线AD数据采集控制模块
¨ 16路单端16位AD,内部时钟触发连续采样
¨ 内置程控增益控制,三档在程可控变档
¨ 板载FIFO存储系统,存储深度1K
¨ 二路12位DA
¨ 开关量:16路可程控输入、输出I/O
¨ 一路16位计数器
¨ 一路程控脉冲及正弦波、三角波、锯齿波发生器
¨ 一路程控脉宽调制(PWM)发生器
Sdjn3k济南三科
2009/5 V1.6
2
Sdjn3k济南三科
USB-DMP316
注意:请在开始使用模块前仔细阅读本使用手册
检查
打开包装请查验如下:
² USB-DMP316数据采集卡
² 光盘。
² USB电缆。
² DB25插头, 26Pin排线插头。
安装
关掉PC机电源,将采集卡USB电缆插入主机的任何一个USB插槽中并将外部的输入、输出线连好。如果主机有多套USB采集卡,请每次只安装一个采集卡。软件启动安装请察看第3章说明。
保修
本产品自售出之日起一年内,用户遵守储存、运输和使用要求,而产品质量不合要求,凭保修单免费维修。因违反操作规定和要求而造成损坏的,需缴纳器件费和维修费及相应的运输费用,如果板卡有明显烧毁、烧糊情况原则上不予维修。如果板卡开箱测试确有质量问题,可以免费更换(限购买模块7天内)。
目录
一、模块说明
u USB- DMP316采集卡简介
u 主要特点及性能
二、原理
u 简介
u 模拟输入及AD数据计算
1、 模块输入
2、 AD转换数据的计算
u DA部分原理及数据计算
u 开关量输入/输出部分的原理
u 计数器
三、安装与连接
u 安装
u 信号连接注意事项
u 连接器插座的定义
1、J1的定义
2、J2的定义
3、电源插口
4、USB插座
u 常用信号的连接与处理
四、软件
u 软件的安装及说明
u 操作函数说明
1、设备操作函数
2、AD操作函数
3、DA操作函数
4、开关量输入/输出操作函数
5、计数器操作函数
u 应用程序编程说明
五、附录
u USB- DMP316模块示意图
34 Sdjn3k济南三科
USB-DMP316 说明
一、USB- DMP316说明
USB- DMP316采集卡简介
USB- DMP316是一款高速USB1.1兼容USB2.0总线16位AD高分辨率数据采集卡,具有16路单端模拟输入,内置程控增益控制,板载FIFO存储系统,可进行设定点数的内部时钟触发高速连续采样(最高采样时钟达50KHz),全部工作在软件设置模式、二路12位DA输出、开关量16路输入/输出全程控并可位设置及位读取、一路16位计数器、一路程控宽频率范围(16Hz-65KHz)的脉冲及各种波形(波形输出为脉冲输出周期的255[0xFF]倍)输出、一路程控脉宽调制(PWM)器。采用USB总线,支持即插即用。USB- DMP316的所有功能设置都是通过软件控制,不需要硬件跳线。
主要特点 、性能:
AD部分
n 输入通道:16路单端输入
n 分辨率:16位(65535)
n 输入电压:0-2.5V,0-5.00V, -2.5V - +2.5V
n AD转换速率:100Ksps
n 通道输入阻抗:1兆欧姆。
n AD转换精度:<±2 LSB
n 系统误差:<±0.2% FS (0-2.5V档为基准档)
n 连续采样时钟:30Hz-50KHz内部时钟
n 输入耐电压:-0.3V-Vc(输入电压不得高于工作电压,否则有烧毁模块的危险)
n FIFO存储系统:存储深度1K
n 输入插座:DB25电缆插座(J1)
DA部分
n 二路DA转换器输出
n 输出电压:0-5.0V
n 分辨率: 12位
n 输出驱动电流:>3mA
n 输出电压精度:±1 LSB
n 输出电压建立时间:小于50微秒
n 输入插座:DB25电缆插座(J1)
注:DMP316L无DA输出功能。
开关量输入输出
n 16路输入\输出通道
n 门限电压:TTL电平,高电平:大于2.8伏、低电平:小于0.8伏
n 输出负载能力:做DO输出时>3mA
n 每路通道即可设为输入也可设为输出,1-8通道也可8位做为一个字节输入\输出
n 插座:26脚扁平电缆插座
计数器
n 16位加法计数器,下降边沿有效
n 最大输入频率:1MHz
n 输入电压:0-5V
n 门限电压:与开关量输入相同
脉冲及波形发生器
n 一路程控脉冲及板载程序模拟正弦波、三角波、锯齿波波形发生器
n 设定周期范围:15uS-60000uS (16Hz-65KHz),波形输出周期为设定周期的255 (0xFF)倍
n 输出幅度:>4V
n 输出负载能力:>3mA
脉宽调制器(PWM)
n 一路脉宽调制器输出
n 分辨率:8位
n 调制范围:1%-98%
n 基础频率:8KHz
n 输出幅度:>4V
n 输出负载能力:>3mA
软件支持:
1. 操作系统支持winXP
2. 开发包:驱动程序、DLL库函数
3. 例子:MFC、VC、VB、LabVIEW
4. 测试程序
硬件
n 总线:高速USB1.1兼容USB2.0标准。
n 工作电流:<500mA。
n 电源:USB供电,可以选择外部电源供电。
n 外部电源输入电压:5伏,±5%。
n 模块尺寸:10.8cm x 7cm x 2.6cm
USB-DMP316 原理
二、原理说明
AD模拟原理
n AD模拟输入
DMP316模拟输入为16路单端(通道1-16))输入。
输入范围:0-2.5V,0-5.00V, -2.5V - +2.5V
转换速率:100Ksps
n AD模拟输入的采样方式
DMP316支持多种AD采样模式:单通道多次采样平均(软件滤波)、多通道扫描采样、时钟触发连续采样。连续采样由程控内部时钟触发,时钟周期为20uS-30000uS,即:30Hz-50KHz。设定周期为硬件时钟周期(硬件理论周期),在实际采样时可能会存在0.004mS左右的转换时差。连续的时钟触发采样,可完成对一定频率范围内的波形采集。
n AD转换数据格式与计算
16位转换数据范围为0-65535,对应电压计算:
设:data为16位转换结果。
G为系统增益
0-2.5V、0-5V输入时AD转换数据计算公式为:
电压[V]=data * G/65535
-2.5V- +2.5V输入时AD转换数据计算公式为:
电压[V]=(data- 32768)* G/32768
例如:在选择0-2.5V输入时:
电压[V]=data * 2.5/65535
例如:在选择-2.5V- +2.5V输入时:
电压[V]=(data- 32768)* 2.5/32768
注:当转换数值大于32768时为正数值,小于32768时为负值。
DA部分的原理
DMP316模块提供2路12位DA,输出0-5.0伏,由软件控制。DA输出上电输出状态为“0”。设置数据有效范围:0-4095,对应输出电压与设置数据的计算:
设:data为12位DA设置数据
输出电压[V]=(data)*5/4095 (V)
DA1输出通道兼有板载模拟波形发生器的功能。通过调用函数Dmp316_Pulse( )可设置输出正弦波、三角波、锯齿波的波形
注:DMP316模块的DA输出只适应控制静态或准静态对象,不适合使用上位机的应用程序控制输出波形。因为在windows环境下应用程序是利用USB的数据传输控制DA输出,USB的数据传输是无法精确定时。而板载模拟波形发生器是内置固件程序驱动硬件而产生的。
开关量部分的原理:
DMP316采集卡开关量为16路输入\输出接口.
每路通道即可程控设为输入也可设为输出,1-8通道也可8位做为一个字节输入\输出.
例如:I/O 1即可通过函数Dmp316_Set_Do(m_hDevice,1,1)做为输出口设置为高电平或低电平.
也可以通过函数Dmp316_Get_Di(m_hDevice,1)做为输入口读取端口的状态.
1-8通道还可以做为一个字节读写.
例如:通过函数Dmp316_Get_Di(m_hDevice,18)(将第二个参数设为18),而实现8位整字节的读取.同样也可通过调用函数Dmp316_Set_Do(m_hDevice,18,0xFF)整字节输出.
因此,DMP316采集卡的I/O接口即可做为普通的I/O口使用,也可做为采集卡的功能外扩接口使用,这将大大提高采集卡使用的灵活性及适应性.
DMP316开关量为5伏TTL电平,输入可以承受5伏电压。高电位时输出高于3.5伏(5伏TTL逻辑通常大于2.3伏,就认为为逻辑1)并具有大于3mA的负载能力。如:可直接推动LED。
计数器
DMP316具有1路16位加法计数器,计数器输入为下降边沿触发(即由高电平变为低电平时触发).
用户启动计数器后,计数器开始工作,并自动清零,每一个脉冲下降边沿使计数器进行“+1”操作。计满16位时回零。
程控脉冲及波形发生器
DMP316具有16Hz-65KHz宽范围的程控脉冲及波形输出。输出周期(即频率)可由Dmp316_Pulse( )函数的T参数程控设定(波形输出周期是设定周期的255倍)。所设定周期,为理论周期,在脉冲及波形输出期间如进行USB通信,将可能会影响单个脉冲及波形的周期。但在调用函数Dmp316_Cont_Ad()对AD连续采样期间内(不大于1023个脉冲),输出脉冲及波形周期与Dmp316_Cont_Ad()函数的参数T所设定周期相同。在不需要脉冲及波形输出时,可调用Dmp316_Stop_Pulse()函数关闭脉冲输出。
脉宽调制发生器(PWM)
DMP316具有1%-98%宽范围的程控脉宽调制波输出。输出的基础频率为8KHz。其调制分辨率为8位(0-255)。PWM输出与I/O11共用一个输出端口,在不输出PWM时,系统自动将该端口设置为I/O口。上电初始化后设置为I/O口。在输出PWM时该端口将不能再做为I/O口,这时设置和读取该端口的I/O值无效。
USB-DMP316 安装与连接
三、安装与连接
安装
关于USB
用户的计算机必须支持USB接口,DMP316支持高速USB1.1兼容USB2.0接口标准.一些品牌的笔记本计算机的供电能力有限,如果DMP316因此不能正常工作,请额外配备+5伏电源(注意外部供电电压为5伏±5%),电源要求必须是稳压电源,输出电流大于500毫安。
用户在应用时请尽量采用随机配备的原装USB电缆。如果需要单独配备电缆,要选择粗的电缆以满足供电要求。
信号连接注意事项
n 模拟输入:
1. 输入连接电缆必须用屏蔽电缆,电缆的屏蔽外层最好只在一端连接到地线上。
2. 如果前端信号干扰较大,如电力信号采集应用时,最好将PC机的外壳与前端的地线单独连接。这样可以避免干扰、高压烧毁DMP316。
3. 对于高精度采样,要求前端设备输出有尽量低的输出阻抗及电流驱动能力。
n 模拟输出:
1. 输出不要对外部电源、地线短路。
2. 输出的电容负载能力有限(<5mA),注意不能驱动大的电容负载,否则会引起输出不稳定。如果需要驱动电容、电感负载,应该在输出与被驱动设备间加入一个100-500欧姆的电阻。
n 开关量:
1. 开关量输入电平不能低于-0.3V 或高于+5V。
2. 输出不得对地线、电源短路。
3. 输出如果需要驱动大功率设备或为防止干扰,应该选用适当的端子板,提升负载能力并将输出与设备隔离。
连接器插座定义
DMP316有二个连接器:J1-DB25 25脚、J2-DIP26 26脚。
l J1:对应16路模拟输入、DA1、DA2输出、PO脉冲发生器输出、TI计数器输入.
l J2:对应16路DI、DO开关量及一组电源, I/O11与PWM输出同用一个输出脚。注意:电源的负载不能太大(一般小于100mA).
J1定义:
说明:
q AIN1-AIN16对应16路AD输入。GND为共同地端。
q GND也为模拟输出(DA1、DA2)、脉冲输出(PO)、及计数器(TI)的共用地线。
q 在连接电缆电线时,请注意插头上标有对应的脚位号码标号。
J2定义:
说明:
q I/O 1--I/O 16对应开关量输入/输出通道1-16号。
q I/O11与PWM输出同用一个输出脚。
q 一组电源输出,用来提供隔离输入/输出时的模块端电源。因负载 能力及抗干扰,不得提供给被隔离的设备端使用(参见“隔离输入/输出电路图”)。
l 电源插座:
输入电源电压+5伏,范围±5%,电流:大于500毫安。插座极性如下:
地线
+5伏
注意:在使用适配电源时,一定要确认电压及极性无误时方可通电使用,以避免烧毁采集卡。
l USB插座
插座为USB-A型插座,是连接PC计算机的通讯及由计算机供电的接口。当它通过连线连接到计算机并得到计算机供电时,或使用适配电源时,电源指示灯将点亮。当与计算机通讯并被计算机正确枚举后USB指示灯将点亮,在与计算机进行数据通信中,该指示灯将闪烁。
配套端子板
DMP316采集卡可以根据不同需要配接端子板,可与供应商联系订制。
常用信号的连接、处理。
n DA输出驱动感性、容性负载
n 利用开关量输出驱动继电器
n 光电隔离输入
注意:隔离与被隔离端不能同电源、同地。(注意图中的二个电源及接地符是不同的)
USB-DMP316 软件
四、软件
本章介绍驱动的安装、动态链接库函数使用方法以及针对DMP316采集卡的软件开发指导。请用户在编程前,仔细阅读本手册,了解相关信息。
由于软件可能不断更新,请用户察看光盘中的提示。测试软件及其他软件的说明见光盘目录:
软件安装与说明
软件说明
DMP316附带光盘中,提供如下内容:
1. 使用手册。
2. 驱动程序,支持winXP操作系统。
3. Visaul C++、MFC、VB、LabVIEW编程实例。
4. DMP316测试程序。
注:由于win98、winNT微软已经不提供支持,不建议使用。DMP316的驱动不支持winNT。
¨ 在光盘中DMP316/驱动程序/中包含:DMP316.inf、DMP316.sys 、DMP316dll.dll、DMP316DLL.h 、DMP316DLL-A.h.文件。
² DMP316.inf 驱动安装文件。
² DMP316.sys 驱动程序。
² DMP316.dll 动态链接库。
² 编程需要的DMP316dll.h 、DMP316dll-A.h头文件。
¨ 在光盘的”例程”目录中包含:
² VC的编程例子
² VB的编程例子
² LabVIEW编程例子
¨ DMP316测试程序:测试程序。
测试程序是测试DMP316各功能是否正常工作及性能的VC++ MFC应用程序。也可做为用户的一般性应用程序。
驱动安装
安装方法:
驱动安装详细过程也可参见产品所附光盘下的“设备安装说明”。
1. 将DMP316采集卡连线插入一个USB插槽,如果有多个采集卡,请每一次安装一个采集卡。第一次安装的采集卡的设备号为“0”,第二次安装的设备号为“1”,依次类推。
2. Windows将会显示找到新硬件,可按找到新硬件向导进行下一步
3. 选择搜索适用我的设备的驱动程序,下一步;
4. 选择驱动所在目录,进行安装。(目录:光盘所在盘符\DMP系列\ DMP316\驱动程序)
5. 按找到新硬件向导的提示进行下一步;
6. Windows将显示完成添加/删除硬件向导,单击完成即可完成安装过程。
7. 完成后如果安装第二个采集卡,插入第二块采集卡,重复上述安装过程。
安装后,程序自动将DMP316.dll动态链接库程序拷贝到windows系统的system32目录中,用户也可以自己将DLL拷贝到当前工作目录中。
驱动安装完毕后在\控制面板\系统\设备管理中的USB项目下可以找到DMP316设备。
1. 如果需要更新设备驱动,请在硬件设备管理目录下选择DMP316 -〉按鼠标右键选择属性 –〉选择驱动程序 –〉选择重新安装驱动程序。
2. 当Visaul C++例程从CD-ROM复制到硬盘时,属性仍将保持为只读属性 ,这将影响用户调试程序。请将属性改为文档属性,这样就可以进行正常的编译、调试工作了。
接口函数说明
本采集卡以DLL-动态链接库的方式封装了用户在windows环境下编程需要的函数。动态链接库可以被windows环境下的多数编程语言调用,用户只要正确使用调用格式就能正确调用函数。本手册提供了VC的加载及调用例子,有关其他语言加载及调用的方法,用户可以参考产品所附带光盘下相关例程、其他书籍或直接在网上查找。
设备操作函数
q 打开一个DMP316采集卡设备
函数:HANDLE OpenDevice(unsigned char)
参数:
² unsigned char型参数:入口参数,DMP302采集卡设备号,=0、1、2….,表示第一个、第二个DMP316采集卡。设备号的定义参考驱动安装部分。
² 函数返回值:采集卡的操作句柄。
注:VC中如果句柄不等于INVALID_HANDLE_VALUE,表示正确。VB中如果句柄不等于&HFFFFFFFF,正确。
q 关闭一个DMP316采集卡设备
函数:long CloseDevice(HANDLE hDevice)
功能:关闭以hDevice打开的DMP316。
参数:
² hDevice:入口参数,采集卡的操作句柄。
² 函数返回数值:>0:成功 <0:失败。
AD操作函数
q Dmp316_Ad()
功能:对一个通道进行多次采样后平均,并返回转换结果。
函数:Dmp316_Ad(HANDLE hDevice, unsigned char ch,unsigned char g, unsigned char n)
参数:
² hDevice:入口参数,卡的操作句柄。
² ch:入口参数,设置采样的通道号码。有效值为1-16
² g: 入口参数,设置增益,0为0-2.5V输入,1为0-5V输入,2为-2.5V- +2.5V输入。
² n:入口参数,采样次数。有效值为1-10。(如:n选为10,为进行10次采样并将转换数值相加后除以10。即10n软件滤波。)
² 函数返回:出口参数:小于0失败,大于等于0时为AD转换结果(0-65535)。
q Dmp316_Scan_Ad()
功能:对多个通道进行扫描采样,并返回各通道的转换结果。
函数:Dmp316_Scan_Ad (HANDLE hDevice, unsigned char start, unsigned char end , unsigned char g,unsigned int *data)
参数:
² hDevice:入口参数,卡的操作句柄。
² start:入口参数,设置采样起始通道号码。有效值为1-16。
² end:入口参数,设置采样终止通道号码。有效值为1-16。但end必须大于start。
² g: 入口参数,设置增益,0为0-2.5V输入,1为0-5V输入,2为-2.5V- +2.5V输入。
² data:入口参数,返回的各通道转换数据值的数组。该数组必须为应用程序定义的全局变量数组,元素值必须大于16。返回的data[0]为start所选择的起始通道的转换数据、data[1]为start+1通道的转换数据、......依此类推。
² 函数返回:出口参数:小于0失败,大于等于1时为成功。
q Dmp316_Cont_Ad()
功能:对一个通道进行时钟触发下的有限点数连续采样,并将各采样点的采样转换数据保存在DMP316板载存储系统内。
函数:Dmp316_Cont_Ad (HANDLE hDevice, unsigned char ch, unsigned char g, unsigned char T)
参数:
² hDevice:入口参数,卡的操作句柄。
² ch:入口参数,设置采样的通道号码。有效值为1-16
² g: 入口参数,设置增益,0为0-2.5V输入,1为0-5V输入,2为-2.5V- +2.5V输入。
² T:入口参数,设置采样触发时钟的周期。有效值为10uS-30000uS。即采样频率为:30Hz-80000Hz(80KHz)。这可实现一定频率范围内的波形采集,并绘制出曲线。
² 函数返回:出口参数:小于0失败,大于等于1时为成功。
q Dmp316_Read_Ad()
q 功能:读取通过Dmp316_Cont_Ad()函数采集保存在DMP316板载存储系统内的各采样点的采样转换数据。
函数:Dmp316_Read_Ad (HANDLE hDevice, unsigned int Sn,unsigned int *data)
参数:
² hDevice:入口参数,卡的操作句柄。
² Sn:入口参数,设置要读取的采样点数。有效值为128的倍数,最小值为128,最大值为512。
² data:入口参数,返回的各采样点的转换数据值的数组。该数组必须为应用程序定义的全局变量数组,元素值必须大于512。返回的data[0]为第一个采样点的转换数据、data[1]为第二个采样点的转换数据、......依此类推。
² 函数返回:出口参数:小于0失败,大于等于1时为成功。
注意:
Dmp316_Read_Ad()函数与Dmp316_Cont_Ad()函数为配合使用,在需要连续采样的时刻调用Dmp316_Cont_Ad()函数进行连续采样,采样得到的数据保存在DMP316的FIFO存储系统内。连续采样所需采样时间为 [(“所设定的采样触发时钟周期”+“AD转换时差”)*“要读取的采样点数”],即[(T+n)*Sn*2]。在这个时间之后调用Dmp316_Read_Ad()函数将保存在DMP316的FIFO内的数据读到上位机。即在调用Dmp316_Read_Ad()函数之前要给Dmp316_Cont_Ad()函数留出所需的时间。当然也可以选择在需要数据时再读取,但下一次调用Dmp316_Cont_Ad()函数前必须将数据读回,否则数据将被覆盖。
DA操作函数
DMP316L无此功能,此函数操作无效。
DMP316模块在上电初始化时,DA输出为0V。
q Dmp316_Da()
功能:设置DA输出电压。
函数:Dmp316_Da(HANDLE hDevice,unsigned char ch, unsigned int DaData)
参数:
² hDevice:人口参数,采集卡的操作句柄。
² ch: 人口参数,DA的输出通道,有效值为1、2。1为一通道,2为 二通道。
² data:人口参数,控制或设置DA的输出电压,有效数值为0-4095(0-0xFFF) 。
返回:>0成功,<0失败
开关量操作函数
q Dmp316_Get_Di()
功能:读入16位开关量输入。
函数:Dmp316_Get_Di(HANDLE hDevice,unsigned char ch)
参数:
² hDevice:入口参数,采集卡的操作句柄。
² ch:入口参数,设置I/O的通道号码及1-8通道的字节。有效值为1-16 和18。当该参数设为1-16时为I/O的通道号,读取该通道的状态。当设为18时为I/O的1-8通道的整字节数据。
² 函数返回:出口参数,返回读入的数据。<0失败。
q Dmp316_Set_Do ()
功能:设置16位开关量数据输出。
函数:Dmp316_Set_Do(HANDLE hDevice,unsigned char ch,unsigned int DoData)
参数:
² hDevice:入口参数,采集卡的操作句柄。
² ch:入口参数,设置I/O的通道号码及1-8通道的字节。有效值为1-16 和18。当该参数设为1-16时为I/O的通道号,设置该通道的状态。当设为18时为I/O的1-8通道的整字节数据。
² DoData:入口函数,输出的开关量数据。当ch参数设为1-16时,该参数有效值为1或0,对应输出高电位或低电位。当ch设为18时,有效值为0-255(0-0xFF),对应输出1-8通道的字节数据。
² 函数返回:出口参数,1成功,<0:失败。
程控脉冲及波形输出操作函数
q Dmp316_Pulse( )
功能:启动并设置脉冲及波形输出。
函数:Dmp316_Pulse(HANDLE hDevice, unsigned char wave,
unsigned char T)
参数:
² hDevice:入口参数,采集卡的操作句柄。
² wave:入口参数,设置脉冲及波形输出。有效值为:0:为脉冲输出,输出端为PO。1:为正弦波输出,输出端DA1端。2:为锯齿波输出,输出端DA1端。3:为三角波输出,输出端DA1端。
² T:设置输出脉冲及波形的周期,有效值为15-60000(15uS-60000uS)。即输出脉冲频率为16Hz-65KHz,输出的波形周期为脉冲的255倍。
² 函数返回:1成功,<0:失败。
q Dmp316_Stop_Pulse()
功能:关闭脉冲及波形输出。
函数:Dmp316_Stop_Pulse (HANDLE hDevice)
参数:
² hDevice:入口参数,采集卡的操作句柄。
² 函数返回:1成功,<0:失败。
关闭脉冲及波形输出后,DA1恢复为0V正常的DA输出端口。
计数器操作函数
q Dmp316_Set_Count()
功能:启动(或关闭)计数器开始计数。
函数:Dmp316_Set_Count(HANDLE hDevice,unsigned char sw)
参数:
² hDevice:入口参数,采集卡的操作句柄。
² sw:启动或关闭计数器,1为启动并开始计数,0为关闭。
² 函数返回:1成功,<0:失败。
q Dmp316_Read_Count()
功能:读出16位计数器数据。
函数:Dmp316_Read_Count(HANDLE hDevice)
² hDevice:入口参数,采集卡的操作句柄。
² 函数返回:出口参数,大于等于0:16位计数器数据。<0:失败。
脉宽调制器(PWM)操作函数
q Dmp316_Pwm ()
功能:设置PWM的开关及调制量。
函数:Dmp316_Pwm(HANDLE hDevice,unsigned char SW,unsigned char PwmData)
² hDevice:入口参数,采集卡的操作句柄。
² SW: 入口参数,PWM开关。1为开PWM输出,0为关闭PWM的输出。
² PwmData:入口参数,PWM的调制值,有效值为0-255。
VC程序编程说明
编程前,将DMP316Dll.h, DMP316Dll-A.h头文件拷贝到用户当前目录中。(该文件在光盘/DMP316/”驱动程序”目录中)
VC编程的基本流程:
1. 利用显式调用加载DLL函数。DMP316Dll-A.h、DMP316Dll.h文件必须在当前工作目录中。方法,程序的开始处加入如下语句:
#include” DMP316Dll.h”
gLiDLL=LoadLibrary("DMP316.dll");
#include” DMP316Dll-A.h”
2. 利用HANDLE OpenDevice()函数获得板卡的操作句柄。
3. 在退出程序时必须执行如下操作:利用CloseDevice(HANDLE hDevice)函数关闭句柄
例:
//获得所有DMP316的操作函数
#include " DMP316Dll.h "
gLiDLL=LoadLibrary("DMP316.dll "); 注:gLiDLL是在DMP316Dll-A.h中定义的。
#include " DMP316Dll-A.h "
HANDLE hDevice=INVALID_HANDLE_VALUE; //硬件操作句柄
Main()
{
//获得硬件操作句柄
hDevice= OpenDevice(0); //创建设备驱动句柄,设备号为0
……………………… //用户程序
//退出
CloseDevice(hDevice); //关闭操作句柄
}
详细可以参考光盘上的“例程”目录下的例子。在例程序Dlg.ccp文件中对每步的操作做了较详细的注释.
在编程时必须注意,硬件操作句柄HANDLE必须为全局变量或必须传递给有关相应硬件操作的函数。硬件句柄只要在程序启动时打开一次即可,不需要每次调用硬件操作的函数时打开或关闭。
VB、LabVIEW、Delphi及其它程序编程说明
VB及其它编程请参考产品光盘下的相关例程。
五、附录
DMP316模块示意图:
展开阅读全文