189 8069 5689

vb.net的usb通信的简单介绍

vb.net 读取扫描枪USB接口数据的实例

USB比较难抓数据,建议是USB模拟串口,或者直接就是串口,这样数据比较好抓。

站在用户的角度思考问题,与客户深入沟通,找到科尔沁右翼中网站设计与科尔沁右翼中网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、网站制作、企业官网、英文网站、手机端网站、网站推广、国际域名空间、网站空间、企业邮箱。业务覆盖科尔沁右翼中地区。

USB上传模式是鼠标光标在哪数据就上传在哪,所以你抓USB的数据的很难!

X猫-思刊办公专营店

单片机与电脑 通过 usb通信

比较忙,刚刚看到你的求助,我是对比我之前提的问题,结合你的问题来回答的,不知道有没有符合你的问题。

1,关于通讯线,现在USB转RS485的转串口线非常多而且很便宜,没有必要自己去做了,都是成熟的东西,你直接去市场上买一根就好了。

2,单片机板。你只是测试通讯,那么只需单片机最小系统,再加一个RS485芯片就行了,电路图的话可以自己找,或者干脆买一块带RS485芯片的51板。然后编写单片机程序。单片机作为从机,写你的协议,比如最简单的,当单片机收到1,立即发2给电脑,电脑收到2说明成功了。至于其他的协议只是代码多少的问题。

3,上位机程序。建议用VB.net比较容易上手,C#也行,编一个类似于串口调试助手的控制窗口,可以先看看别人怎么写的,上位机接收到数据就基本成功了。直接用serialport控件,设置通讯参数,然后向串口发数据。比如发1,然后使用事件触发接收单片机的数据,如果两侧通讯没问题,电脑会收到2,然后把它显示出来或者做其他处理。

关于VB和USB

如果是USB转串口,那么还用mscomm控件,如果不是,那就问生产厂家要通讯协议。

VB USB通讯问题---200分求助!

用vb实现USB接口设备数据传送

本文介绍了USB设备中的人机接口,HID设备与主机通信的要点与方式。详细讲解了在VB中调用相关APl函数的方法,并介绍了一种基于USB总线的数据采集系统的设计方案及开发方法,采用的是USB2.0协议。该系统主要是从设备的角度描述了人机接口设备通信,以及用来与主机进行数据交换的报告格式。应用程序可以使用任何能访问API函数的编程语言,调用窗口函数并与USB设备实现通信。掌握USB设备与计算机通讯规程,实现USB设备的自动识别。为数据采集系统与计算机之间的通讯开辟了新的道路。

这几年,随着大量支持USB的个人电脑的普及,USB逐步成为PC机的标准接口已经是大势所趋了。在主机(host)端,最新推出的PC机几乎100%支持USB;而在外设(device)端,使用USB接口的设备也与日俱增,例如数码相机、扫描仪、游戏杆、磁带和软驱、图像设备、打印机、键盘、鼠标等。

二、Windows系统选择USB驱动的过程

当Windows检测到一个新的USB外设时,必须做的一件事情是找出应该使用哪个设备驱动应用软件来与设备通信,然后载入选定的驱动。这是Windows设备管理器的工作,设备管理器使用类、设备安装器和INF文件来找到这个匹配。

INF文件是一个文本文件,其中包括有利于Windows识别设备的信息。文件告诉Win-dows要使用什么驱动、注册表里存储什么信息等。

三、Visual Basic与USB设备通信的设计与实现

使用VB语言访问串行通信接口的方法。Windows在底层实现了和串行通信有关的很多复杂的工作,给程序员提供了一个相对比较容易掌握的编程接口。例如 Windows自动将所有接收到的字符放到接收缓冲区中,而所有发送的字符也都进入发送缓冲区。只要程序空闲,程序就可以读取接收缓冲区获得数据,或者向发送缓冲区发送数据。

1.主机寻找USB设备的过程

第一个被Windows支持的USB外围设备类是人机接口设备。HID是 HUMANINTER-FACE DEVICE人机接口设备的英文缩写。是指直接和人进行互动的设备。如鼠标、键盘等。运行在WINDOWS98或其他更高的版本的操作系统的PC机,系统除了提供通用的USB设备的底层驱动以外,还单独提供了一些HID设备的完整驱动,应用程序可以很容易地与操作系统内部的HID通讯。这样使得符合HID 类的USB设备很容易开发与运行。也就是说,我们如果想实现一个USB的HID类设备,是不需要在Windows下开发自己的驱动程序的。HID不一定要是标准的外设类型,唯一的要求是交换的数据存储在报文的结构内,设备固件必须支持报文的格式。任何工作在该限制之内的设备都可以成为一个HID,例如温度计、电压计、读卡机等。

2.VB中调用API函数的过程

(1)声明:下面是一个Visual Basic使用API函数WriteFile的声明:可以利用这个涵数来写数据到HID(也可以是文件和其他设备)中。Public Declare Function WriteFile Lib_“kernel32”_

(By Val hFile As Long,_ByReflpBuffer As Byte,_By Val nNumberOfBytes To Write As Long,_ByRef lpNumberOfBytesWritten As Long,_ByVal lpOvefiapped As Long)_As Long

(2)识别HID过程Public Declare Function HidD_GetHidGuid Lib_“hid.dll”_(ByRefHidGuid As GUID)As Long

3.Visual Basic数据过程

(1)读数据到设备

Public Declare Function WriteFile Lib“kernel32”_(ByVal hFile As Long,_ByReflpBuffer As Byte_ByValnNumberOfBytesToWrite As Long,_ByRefnNumberOfBytcsWritten As Long,_ByVal lpOvefiapped As Long)_As Long

(2)从设备读取数据Declare Function ReadFile Lib_“kernel32”_(ByValhFile As Long,_ByReflpBuffer As Byte,_ByValnNumberOfBytesToRead As Long,_ByReflpNumberOfBytesRead As Long,_lpOvefiapped As Long)_As Long

读写报文缓冲区时,第一个字节是ReportID,其后是报文数据。报文缓冲区默认是八个报文,并且环状排列。因为数据读写是发生在主机轮训设备的时候,并不是由设备触发产生硬件中断,所以如不能及时读写,新的数据会覆盖旧的数据,导致报文丢失。当数据读写频繁时应使用特征报文,它可以保证当报文数据没有变化时,HID不会传送新的数据。

当不再使用SetupDiGetClassDevs时,应用上述函数释放其返回的数组hDevInfo。还有需要使用函数CloseHandle,它是一个非常通用的API函数,可以用于关闭通信。

四、结论

实际编程表明使用VB开发HID类USB设备是一条非常方便快捷的途径,不需要编写底层驱动,涉及到的API函数多是大家熟知的通用函数。但同时还必须注意到一点,HID类只支持控制传输与中断传输。控制传输通常不用于数据的传输,而中断传输的特点是保证最大延迟,也就是事务之间的时间。它没有保证传输速率,而是保证每笔事务之间的时间不会超过最大延时。所以中断传输适用于数据量不太大,但需要及时快速地传送,实时性要求较高的场合。对于数据量比较大的传输,是不宜使用中断传输的。因此HID设备应用的场合也必须根据该特点灵活使用。

怎样用VB读取USB接口的信息 高手进!

在VB中如何从USB口读取数据关键在于USB转串口

当外设连到主机USB接口时,主机会检测到新硬件,这时需要安装一个可从FTDI公司的网站上免费下载的虚拟串口(VCP)驱动程序,该驱动程序适用于WINDOWS98/2000/ME/XP等不同操作系统。设计者需要完成的是,编写一个针对虚拟串口通信的应用程序,把虚拟串口(VCP)当作一个标准的串口去访问。 设计的软件部分可使用VB或VC语言中提供的串口通信MSComm控件进行应用程序编写,下面我们以VC语言为例介绍如何编写应用程序,主要介绍MSComm控件的设置及串口消息事件MSComm.CommEvent响应函数的编写。 1)MSComm控件设置:编程时通常把虚拟串口设置为COM3,即将MSComm.SetCommPort置为3, MSComm.SetSettings置为"9600,n,8,1"(该速率为默认设置,实际上VCP驱动程序总是使数据以最快速率传输);通过MSComm.SetPortOpen设置COM3的开关状态;通过MSComm.SetInput和MSComm.SetOutput读入或输出数据。在读取数据时,设置MSComm.Rthreshold的值为1。 2)有数据传到PC机时,就立即触发串口消息事件MSComm.CommEvent,自动读取COM3的数据。下面是本文作者编写的应用程序,处理这个串口消息事件的OnComm函数,其完成的是从串口接收数据并显示在一个编辑框中。 发送数据则可自动发送或者手动发送,这由用户根据具体情况自己设定。

Vb6.0开发USB通讯程序,HID设备,用Createfile这个API函数,Win7里这个函数结果是错误:拒绝访问,求解

win7对安全的管理比较严格,可能你存取的位置有限制,你先把他放到C:盘你的帐户中,我的文档的位置试试,或者在你所要创建的文件的位置,设置比较低的安全等级,比如everyone都能完全控制的权限


新闻名称:vb.net的usb通信的简单介绍
分享路径:http://cdxtjz.cn/article/hogcgp.html

其他资讯