网站建设资讯

NEWS

网站建设资讯

usb接口的Java代码,java usb接口

java如何实现usb口插拔事件的监测,最好有源代码

java 要访问 usb 设备,通常要自己写c/c++代码,然后再用 java 访问这些组件,以达到控制usb设备的目的。但现在有一个开源组件 libusb 帮我们做好了访问usb设备的封装(包括windows、linux等平台)。我们用 java 访问usb 设备时,可以通过访问 libusb 组件提供的接口即可。要了解这个组件的 java 部分的 Demo、API等,可以访问这里:

专注于为中小企业提供成都网站制作、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业滕州免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

使用这个组件最重要的意义在于:

首先,你不再需要在 win、linux 等平台上写 c/c++ 等 native 组件,甚至,你不需要知道 jni 怎么写;

其次,使用这个组件,你可以访问所有的 usb 设备,当然,前提条件是你必须知道 usb 设备的相关指令(我当前就用这个组件,直接发usb能接受的命令,去控制我的指纹仪来工作)

最后,如果你的 usb 设备没有驱动程序,比如,你的 usb 设备是自己研制出来的,还没来得及为各种平台写驱动程序,你可以用这个组件提供驱动程序

从: 下载 libusb-win32-bin-1.2.2.0.zip

从 下载 ch.ntb.usb-0.5.9.jar 和 LibusbJava_dll_0.2.4.0.zip

安装 libusb-win32:

1)、解压 libusb-win32-bin-1.2.2.0.zip;

2)、把目录:\bin\x86 下的 libusb0_x86.dll 复制到 windows/system32 目录下,并改名为:libusb0.dll;

3)、把目录:\bin\x86 下的 libusb0.sys 复制到 windows/system32/drivers 目录下

4)、运行 install-filter-win.exe ,从中选择安装你要访问的 usb 设备

5)、运行 testlibusb-win.exe,有正确的提示信息。如下图:

注意:如果你运行第4)步时,出现无法安装libusb0服务、无法找到文件等错误,或者运行第5)步时,界面中“Driver version:”后面的版本号是,-1.-1 -1 ...这些情况,说明你的安装不正常。原因可能是因为你的usb设备是新安装的,且你没有重启计算机。你重启一下计算机,再进行上述步骤,应该就可以了。

把 LibusbJava.dll 复制到 windows/system32 目录下

这时,到达 ch.ntb.usb-0.5.9.jar 所在的目录,运行: java -jar ch.ntb.usb-0.5.9.jar,这样就会出来一个java swing做的窗口,如下图。

当右键点击倒数第二级的节点的时候,又会弹出新的窗口,在这个弹出窗口里,你可以直接发送一些16进制的代码给 usb 设备。但值得注意的是,这个窗口的代码写得有问题,其对16进制的代码转换为真正要发送的代码时,转换的是错误的代码。这个错误可以自己下载源码,更正即可。错误的类及方法是:

TestApp.java 中的方法:byte[] parseByteArray(String s);更正的代码可以参考如下代码:

Java代码

重新编译后,替换掉这个类,即可。

byte[] parseByteArray(String s) {

String[] hexs = s.split(" ");

byte[] bytes = new byte[hexs.length];

if(hexs.length 0){

int i = 0;

for(String hex : hexs){

String s1 = hex.substring(2);

bytes[i] = (byte)(Integer.parseInt(s1, 16));

i++;

}

}

return bytes;

}

用java编写USB-HID上位机

以前试过,是用这个软件通过COM口传输数据给单片机。后来发现,因为JAVA的专长不是硬件方面的。所以JAVA的串口方面的类不太好用(JAVA的程序接USB接口的我还没试过),建议如果为了工作的话,还是用VC好,JAVA的程序还得装运行环境。~而且对一楼的说一下,如果做工程项目的话,不仅仅考虑能通讯上就行,还得考虑以后的维护,在一个公司里基...

菜鸟求助 JAVA例子中的一个语句不明白useUSB(new UsbMouse());这个什么意思

这句先从new UsbMouse() 开始理解,意思是实例化一个UsbMouse对象,然后将这个对象作为参数传递给静态方法public static void useUSB(USB u),就是这个意思。

如果把useUSB(new UsbMouse())拆成两行代码,是这样的:

UsbMouse u = new UsbMouse(); //实例化一个UsbMouse.

useUSB(u); //调用静态方法.

明白了吗

java怎么检测USB的程序

检测一个JAVA程序的运行时间方法:

long startTime = System.currentTimeMillis();//获取当前时间

//doSomeThing(); //要运行的java程序

long endTime = System.currentTimeMillis();

System.out.println("程序运行时间:"+(endTime-startTime)+"ms");

求JAVA代码~~~~~~~~~~:编写一个应用抽象类的程序。

//抽象的形状类

abstract class Shape{

abstract double getArea(); //抽象的求面积方法

}

//矩形类

class Rectangle extends Shape{

protected double width;

protected double height;

public Rectangle(double width, double height){

this.width = width;

this.height = height;

}

@Override

double getArea() { //实现父类的方法

return this.width * this.height;

}

}

//椭圆类

class Ellipse extends Shape{

protected double a;

protected double b;

public Ellipse(double a, double b){

this.a = a;

this.b = b;

}

@Override

double getArea() {

return Math.PI * this.a * this.b;

}

}

public class TestAbstract {

public static void main(String[] args) {

Shape s;

s = new Rectangle(3, 4);

System.out.println("矩形的面积 : " + s.getArea());

s = new Ellipse(4, 3);

System.out.println("椭圆的面积 : " + s.getArea());

}

}


本文名称:usb接口的Java代码,java usb接口
文章路径:http://cdweb.net/article/hdeeph.html