使用Java Communications API访问串口程序,抛出javax.comm.NoSuchPortException

beancurd005 2007-04-19 03:30:33
请教各位大侠:
我在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

请各位高手指教,谢谢了!!!
...全文
960 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dfmo 2008-04-18
  • 打赏
  • 举报
回复
下面有介绍,还有需要的动态库及类库下载
http://www.programmerstudy.com/programme/java/20084/97.html
goldenroc 2007-06-05
  • 打赏
  • 举报
回复
你只是将javax.comm包的相关文件添加到jdk下,而没有添加到jre下,别忘了,程序是在jre下运行的。
beancurd005 2007-04-23
  • 打赏
  • 举报
回复
没有人知道吗?
yeah920 2007-04-20
  • 打赏
  • 举报
回复
uppp
InMyLove 2007-04-20
  • 打赏
  • 举报
回复
up

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧