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

beancurd005 beancurd005 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
请教各位大侠:
我在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

请各位高手指教,谢谢了!!!
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
beancurd005
非技术区 23,404 成员 70,506 内容