Java中操作串口的步骤与实现
设置串口API:1 解压缩javacomm20-win32, 
把omm.jar 
放入 Java-home\jre\lib\ext 目录内
Java-home\jre\lib
Java-home\lib
把 javax.comm.properties文件
放入 Java-home\jre\lib\ext 目录内
Java-home\jre\lib
Java-home\lib
2 win32com.dll 文件放入: 
a) java-home\bin
b) java-home\jre\bin 按上面的配置,写控制台程序,,可以实现串口的收发数据。JAVA-HOME 是JDK1.6的根目录
是不是在NETBEANS 平台下,就不要在其他设置了, 或句话说, 串口相关的API,只和JDK配置有关? 只要我的NETBEANS环境 是使用 配置过串口API的JDK 就可以了?

解决方案 »

  1.   

    基本上 在NETBEANS 下,可以通过串口和我的设备通信了
    但是还有个问题,下面的代码:try
                      {
                          CommPortIdentifier   commportidentifier   =   CommPortIdentifier.getPortIdentifier("COM1");
                          serialPort   =   (SerialPort)commportidentifier.open("smsapp",   3000);
                          outputStream   =   serialPort.getOutputStream();
                          inputStream   =   serialPort.getInputStream();
                          serialPort.setSerialPortParams(57600,
                          SerialPort.DATABITS_8,
                          SerialPort.STOPBITS_1,
                          SerialPort.PARITY_NONE);
                          outputStream.write(getversion); //发送命令
    上面的代码不全,只列了部分
     全部的代码,在控制台下编译好了, 然后,JAVA getver(文件名)
     每运行一次,都可以看到设备返回正确的数据回来。但是将代码移植到 NETBEANS平台后,添加到 一个按妞下面
    编译正常,但至少第一次按下按钮 返回正常后面再按 都是提示如下:
    “javax.comm.PortInUseException: Port currently owned by smsapp” 应该是串口被占了,, 控制台方式,每次都是程序全新跑一边,应该不存在串口被占 现在问题是
     
      如何在按钮里加个判断,,如果串口被打开了,就不再重新做串口连接动作?