首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

javax.comm.NoSuchPortException-使用Java Communications API访问串口程序

2014-01-26 
我在PC机上实现JAVA COMM通信,本来这个项目是用VB实现的,能实现COM1口的通信,但是我要用JAVA来改进,可是不

  我在PC机上实现JAVA COMM通信,本来这个项目是用VB实现的,能实现COM1口的通信,但是我要用JAVA来改进,可是不知道怎么回事,我总是检测不到COM端口,一个端口都检测不到,急交项目,谢谢大家!!!
  其他的配置,java.comm包也安装到特定的目录下了。
  1. 将下载后的压缩文件zip压缩包解压,假设解压目录为C:\commapi。假设Java开发包安装在了C盘的C:\jdk1.5中。

  2. 使用如下命令将win32com.dll复制到C:\jdk1.5\bin中。

copy c:\commapi\win32com.dll c:\jdk1.5\bin

  3.使用如下命令将comm.jar复制到c:\jdk1.5\lib目录中。

copy c:\commapi\comm.jar c:\jdk1.5\lib

  4. 使用如下命令将Javax.comm.properties复制到c:\jdk`1.5\lib中。

copy c:\commapi\Javax.comm.properties c:\jdk1.5\lib

  5. 将comm.jar加入到classpath中。

  import javax.comm.*;
  import java.util.*;
  省略其他的,部分主要源码如下:
  Enumeration en = CommPortIdentifier.getPortIdentifiers();
while (en.hasMoreElements())
{
portId = (CommPortIdentifier)en.nextElement();
//如果端口类型是串口,则打印出其端口信息
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL)
textArea.append(portId.getName());
}
try
{
portId=CommPortIdentifier.getPortIdentifier( "COM1 ");
SerialPort serialPort = (SerialPort)portId.open( "Intermec 3440 ", 2000);
serialPort.setSerialPortParams(2400, SerialPort.DATABITS_8
  , SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);

}
catch(PortInUseException ex)
{
JOptionPane.showMessageDialog(this,ex);
}
catch(NoSuchPortException ex)
{
JOptionPane.showMessageDialog(this,ex);
}
catch(UnsupportedCommOperationException ex)
{
JOptionPane.showMessageDialog(this,ex);
}

  程序运行就是报错:javax.comm.NoSuchPortException

  请各位指教.


------解决方法--------------------------------------------------------
你只是将javax.comm包的相关文件添加到jdk下,而没有添加到jre下,别忘了,程序是在jre下运行的。

------解决方法--------------------------------------------------------
下面有介绍,还有需要的动态库及类库下载
http://www.programmerstudy.com/programme/java/20084/97.html

        

热点排行