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

USB接口的高速数据采集卡的设计与实现

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

Ep0QutputInterruptHandler();

break;

case VECINT_INPUT_ENDPOINT0:

bBECINT=0x00;

Ep0InputInterruptHandler();

break;

case VECINT_OUTPUT_ENDPOINT1:

bVECINT=0x00;

Ep 1 OutputInterruptHandler();

Break;

case VECINT_INPUT_ENDPOINT1:

bVECINT=0x00;

Ep1Inpu

tInterruptHandler();

break;

case VECINT_SETUP_PACKET_RECEIVED:

SetupPacketInterruptHandler();

bUSBSTA=USBSTA_SETUP;

bVECINT=0x00;

break;

default:break; //不知道中断ID

EA=ENABLE; //开中断

}

3.2 主机软件设计

笔者首先开发TUSB3210在主机中的驱动程序。用WinDK3.0开发了Win2000下的驱动程序,实现了控制传输、中断传输和批传输的标准接口函数。

在应用程序开发中,可用VC++编制应用程序。可以把USB设备当成文件来操作,利用CreateFile得到USB句柄,用DeviceIoControl来进行控制传输,用ReadFile、WriteFile进行批量传输。程序实例如下:

HANDLE m_hUsbSample; //USB句柄

m_hUsbSample=CreateFile(\\.\USBSampl0,GENERIC_READ|

GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULI,OPEN_EXISTING,0,NULL); //打开USB句柄

DeviceIoControl(m_hUsbSample,IOCTL_USBSAMPL_REBOOT, NULL,0,NULL,0,&length,NULL); //控制传输

WriteFile(m_hUsbSample,pBuffer,writelength,&writelength,NULL); //批量输出传输

ReadFile(m_hUsbSample,pBuffer,64,&lgngth,NULL); //批量输入传输

CloseHandle(m_hUsbSample); //关闭USB句柄

使用上述函数编制USB高速数据采集卡的主机软件。

通过以上设计实现了基于USB

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

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