您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

基于LabVIEW的USB实时数据采集处理系统的实现

时间:2007-1-20栏目:电子通信论文

TMOD=0x05;

TCON=0x10;

TH0=0;

TL0=0;

Thb=0,

TH0=0;

TL0=0;

thb=0;

EZUSB_IRQ_CLEAR();

USBIRQ=bmSUTOK; //Clear SUTOK IRQ

}

void ISR_Sof(void)interrupt 0 //同步传输方式

{

if(TCON&0x21){ //Deal with the counter overflow

TH0=0;

Tl0=0;

THB++;

TCON&=0xdf;}

IN8DATA=TH0; //3 Bytes counter result

IN8DATA=TL0;

IN8DATA=THB;

EZUSB_IRQ_CLEAR();

USBIRQ=bmSOF; //Clear SOF IRQ

}

LabVIEW应用程序中设计了一Usb.dll文件作为LabVIEW与USB的驱动程序。由于EZ-USB开发系统中已经提供了底层驱动程序(GPD)接口函数,用户只需调用这些函数即可与USB设备连接。因此在DLL的编制中只需调用它提供的函数,大大节约了开发时间,提高了开发速度。创建的Usb.dll文件中包含了如下五个输出函数,功能说明如表1所示。

表1 Usb.dll包含函数的功能说明

Control 主机对USB设备的控制 ReadResult 获取USB发送到主机的数据 StartIsoStream 启动设备的同步传输流 StartThread 得到标准设备的设备描述符 StopThread 关闭设备的同步传输流

其定义如下:

LPSTR_declspec(dllexport)_stdcall Control(int input);

int_declspec(dllexport)_stdcall ReadResult(void);

int_declspec(dllexport)_stdcall StartIsoStream(void);

int_declspec(dllexport)_stdcall StartThread(void);

int_declspec(dllexport)_stdcall StopThread(void);

开启设备和获取采集数据的过程如图2所示。它的主要功能有:开启或关闭USB设备、检测USB设备、设置USB数据传输管道(pipe)和端点(endpoint)、实时从USB接口采集数据、显示并分

上一页  [1] [2] [3] [4] 下一页

下页更精彩:1 2 3 4 下一页