在Java应用程序中访问USB设备
在本文通过提供使Java 应用程序可以使用 USB 设备的 API 而使这个过程变得更容易.
Java 平台一直都以其平台无关性自豪。虽然这种无关性有许多好处,但是它也使得编写与硬件交互的 Java 应用程序的过程变得相当复杂。在本文中,研究科学家蒋清野讨论了两个项目,它们通过提供使Java 应用程序可以使用 USB 设备的 API 而使这个过程变得更容易。虽然这两个项目仍然处于萌芽状态,但是它们都显示了良好的前景,并已经成为一些实用应用程序的基础。
通用串行总线(Universal Serial Bus USB)规范的第一个版本发表于 1996年 1月。因为它的低成本、高数据传输率、使用容易和灵活性,USB 在计算机行业里获得了广泛接受。今天,许多周边设备和装置都是通过 USB 接口连接到计算机上的。目前,大多数一般用途的操作系统都提供了对 USB 设备的支持,并且用 C 或者 C++ 可以相对容易地开发访问这些外设的应用程序。不过,Java 编程语言在设计上对硬件访问提供的支持很少,所以编写与 USB 设备交互的应用程序是相当困难的。
IBM 的 Dan Streetman 最早开始了在 Java 语言中提供对 USB 设备的访问的努力。2001年,他的项目通过 Java 规范请求(Java Specification Request,JSR)过程被接受为 Java 语言的候选扩展标准。这个项目现在称为 JSR-80 并且指定了官方包 javax.usb。同时,在 2000年 6月,Mojo Jojo 和 David Brownell 在 SourceForge 开始了 jUSB 项目。这两个项目都开发出了 Linux 开发人员可以使用的包,尽管它们都还很不完善。这两个项目也都开始试图向其他操作系统上的 Java 应用程序提供对 USB 设备的访问,尽管它们都还没有开发出可以使用的包(参阅 参考资料 中有关本文中讨论的这两个项目及其他项目的资料)。
在本文中,将对 jUSB 和 JSR-80 项目作一个简要介绍,不过,我们首先要看一下 USB 协议的具体细节,这样您就可以理解这两个项目是如何与 USB 设备交互的。我们还将提供代码片段以展示如何用这两个项目的 API 访问 USB 设备。 USB 介绍
1994年,一个由四个行业伙伴(Compaq、Intel、Microsoft 和 NEC)组成的联盟开始制定 USB 协议。该协议最初的目的是将 PC 与电话相连并提供容易扩展和重新配置的 I/O 接口。1996年 1月,发表了 USB 规范的第一个版本,1998年 9月发表了后续版本(版本 1.1)。这个规范允许 127台设备同时连接到一起,总的通信带宽限制为 12 Mbps。后来,又有三个成员(Hewlett-Packard、Lucent 和 Philips)加
相关文档:
鉴于许多同学对这个main方法的迷惑!我这里提供一些意见,希望对大家有帮助!呵呵!
****我们说加载先:
Java的类是用到才开始加载的,并且在每个类的构造器调用之前,类的每个域(成员变量)都要首先被编译器初始化一次,然后才轮到构造器来干活儿。但是,Java ......
//输入某年某月某天,输出这一天是这一年的第几天
public class DaySum {
public static void main(String[] args)
{
date da=new date();
System.out.println(da.count(2008,12,31));
}
}
class date
{
int count(int year,int month,int day) ......
public class chengfa {
public static void main(String[] args)
{
model md=new model();
md.method();
}
}
class model
{
public int count=0;
public int[]b=new int[100];
public void me ......
在网上看到很多人都在为Delphi是否支持C++/Java中的静态变量及静态方法的功能而困扰,其实这在Delphi中是很简单的.
静态方法就是使用Class Function. 静态变量则使用单元局部变量来实现. 代码如下:
//=========================================
// StaticVarTestU - 定义了可以计数的类,通过类方法即可访问此类的对象数 ......
1.去网站http://files.zentus.com/sqlitejdbc/下载sqlitejdbc.根据自已需要,下载sqlitejdbc.(sqlitejdbc有两个版本,一种是pure的一种是native的。native的速度快。它放在**-bin.tgz里。我下的就是这种sqlitejdbc-v056-bin.tgz)
2. 下载后解压sqlitejdbc-v056-bin.tg ,有以下几个文件: libsqlitejdbc.so,sqlitejdbc.d ......