java串口编程

一年半前在jbuilder2006下写过串口通信程序,最近做一个GPS-SMS项目,用到串口通信,在JBUILDER 配置了comm.jar却发现找不到端口,经过几番查找才发现自己配置的路径错了,浪费了不少时间,有必要记下来,防止下次出错,此次还暴露了自己看文章一目十行,走马观花的毛病。Javax.comm是Sun公司提供的,用于开发平台独立的通讯应用程序的扩展API。(ps:这里javax的x很准确地表明了它是一个扩展包,而不是核心包(core package),但由于历史原因,javax下的并不都是扩展包,比如swing包已经是Java核心架构的一部分了,不过为了与Java1.1编码兼容,仍使用javax.swing。)javax.comm可以访问RS232接口(串口)及有限制地访问IEEE-1284(并口)。下载 需要到其官方主页http://java.sun.com/products/javacomm/下载这个API,目前的最新版本是3.0。不过可惜的是,Sun目前没有推出此API在Windows平台下的3.0版本,主页上列出的三个版本,分别是运行在x86和Sparc结构下的Solaris系统,以及x86下的Linux系统。要下载Windows版本只能去寻找较老的版本了。我所找到的2个网址是http://llk.media.mit.edu/projects/cricket/software/javaSerial.zip(两个文件夹里面有所需的3个文件),http://mdubuc.freeshell.org/Jolt/javacomm20-win32.zip和(完整的2.0版本,还有examples)。安装 这里的所谓安装就是把三个重要的文件放到指定的目录下。 将下载的文件解压缩后,在/javacomm20-win32/commapi目录下有必需的三个文件comm.jar,javax.comm. properties和win32comm.dll。将文件comm.jar拷贝到%JAVA_HOME%/jre/lib/ext;文件 javax.comm. properties拷贝到%JAVA_HOME%/jre/lib; 文件win32comm.dll拷贝到%JAVA_HOME%/bin。注意%JAVA_HOME%是jdk的路径,而非jre。API在javax.comm下有13个类和接口,分别是4个接口CommDriver 可负载设备(the loadable device)驱动程序接口的一部分CommPortOwnershipListener 传递各种通讯端口的所有权事件ParallelPortEventListener 传递并行端口事件SerialPortEventListener 传递串行端口事件6个类CommPort 通讯端口CommPortIdentifier通讯端口管理ParallelPort 并行通讯端口ParallelPortEvent 并行端口事件SerialPort RS-232串行通讯端口SerialPortEvent 串行端口事件3个异常类NoSuchPortException 当驱动程序不能找到指定端口时抛出PortInUseException 当碰到指定端口正在使用中时抛出UnsupportedCommOperationException 驱动程序不允许指定操作时抛出实例同API一起下载的还有一个examples文件,里面有6个程序。首先看最简单的读、写程序。读串口的例程

(PS:不推荐Thread的这种用法,详见《Core Java VolumeII》)写串口的例程 把字符串”Hello, world!/n”写到系统的第一个串口

上面两个例程都经过了简化,在打开端口,并且传输结束后没有关闭数据流和串口。在例程中我们看到CommPortIdentifier提供了打开通讯端口的方法open,但却没有相应关闭端口的方法,关闭端口需要调用javax.comm.CommPort类的close()。CommPort是这个包中的一个高级抽象,它定义了端口可作的各种事情:获取I/O数据流对象,控制缓冲区大小,调整输入的处理。============================================================

———- 3 —————–

http://blog.sina.com.cn/s/blog_3c6ecea90100ccra.html

偶尔也要现实和虚伪一点,因为不那样做的话,很难混。

java串口编程

相关文章:

你感兴趣的文章:

标签云: