使用Java Communications API访问串口程序,抛出
javax.comm.NoSuchPortException请教各位大侠:
我在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
请各位高手指教,谢谢了!!!
------解决方案--------------------uppp
------解决方案--------------------up
------解决方案--------------------你只是将javax.comm包的相关文件添加到jdk下,而没有添加到jre下,别忘了,程序是在jre下运行的。
------解决方案--------------------下面有介绍,还有需要的动态库及类库下载
http://www.programmerstudy.com/programme/java/20084/97.html