串口编程问题
程序运行总是报告如下异常:
javax.comm.PortInUseException: Port currently owned by Serial
at javax.comm.CommPortIdentifier.open(CommPortIdentifier.java:337)
at com.test.Test.<init>(Test.java:38)
at com.test.Test.main(Test.java:30)
Test.java类代码如下:
javax.comm.PortInUseException: Port currently owned by Serial
at javax.comm.CommPortIdentifier.open(CommPortIdentifier.java:337)
at com.test.Test.<init>(Test.java:38)
at com.test.Test.main(Test.java:30)
Test.java类代码如下:
import java.io.*;
import java.util.*;
import javax.comm.*;
/**
* 读串口的例程
* @author zcj
*/
public class Test {
static CommPortIdentifier portId;
static Enumeration portList;// 枚举类
InputStream inputStream;
SerialPort serialPort;
public static void main(String[] args) {
//枚举出系统所有的RS232端口
portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL)
{
if (portId.getName().equals("COM1"))/* 找Windows下的第一个串口*/ {
//if (portId.getName().equals("/dev/term/a"))/* 找Unix-like系统下的第一个串口 */{
new Test().print();
}
}
}
}
public void print() {
try {
//获得串口对象
serialPort = (SerialPort) portId.open("TestApp", 2000);
// 获取端口的输入流对象
inputStream = serialPort.getInputStream();
//读取输入流
int ch;
StringBuffer sb = new StringBuffer();
while((ch=inputStream.read())>0){
sb.append((char)ch);
}
System.out.println("读取到的内容为:"+sb.toString());
}catch (Exception e) {
e.printStackTrace();
}
serialPort.close();
}
}
...全文
相关推荐
VB串口编程的几个问题.rar_VB 串口 收发_VB 串口通讯_VB串口_串口通讯
通过阅读"VB串口编程的几个问题.txt"和"www.pudn.com.txt"这两个文件,你可以找到更多关于VB串口编程的具体实例和解决方案。
关于USB转串口线和编程器连接的问题
关于USB转串口线与编程器连接的问题,涉及到的知识点主要包括USB转串口线的安装、识别以及端口号的配置。下面将详细阐述这些知识点,帮助读者更好地理解和操作。
VB串口编程的几个问题
VB串口编程的几个问题VB串口编程在实际应用中经常会遇到一些问题,如串口数据接收方式的处理不定长数据的接收等。下面将对VB串口编程中的几个问题进行探讨。1.
Win32串口编程.rar
- **关闭串口**:使用CloseHandle关闭串口。4. **常见问题** - **超时问题**:ReadFile可能会因为没有数据而阻塞,设置合适的超时策略很重要。
Java串口编程
#### 三、串口通信中的问题与挑战在Java串口编程中,常见问题之一是串口资源的独占性,即同一串口在同一时刻只能被一个进程或线程打开。


Java SE
