永发信息网

java实现串口通信代码

答案:3  悬赏:0  手机版
解决时间 2021-11-11 22:43
  • 提问者网友:放下
  • 2021-11-11 09:14
java实现串口通信代码
最佳答案
  • 五星知识达人网友:不甚了了
  • 2021-11-11 09:50
public static void process() {
try {
Enumeration portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements())
{
CommPortIdentifier portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL)//如果端口类型是串口则判断名称
{
if(portId.getName().equals("COM1")){//如果是COM1端口则退出循环
break;
}else{
portId=null;
}
}
}
SerialPort serialPort = (SerialPort)portId.open("Serial_Communication", 1000);//打开串口的超时时间为1000ms
serialPort.setSerialPortParams(9600,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);//设置串口速率为9600,数据位8位,停止位1们,奇偶校验无
InputStream in = serialPort.getInputStream();//得到输入流
OutputStream out = serialPort.getOutputStream();//得到输出流

//进行输入输出操作

//操作结束后
in.close();
out.close();
serialPort.close();//关闭串口

} catch (PortInUseException e) {
e.printStackTrace();
} catch (UnsupportedCommOperationException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}
全部回答
  • 1楼网友:廢物販賣機
  • 2021-11-11 11:05
好像很复杂 ,期待高手
  • 2楼网友:十年萤火照君眠
  • 2021-11-11 09:57
有两种串口包可调用,建议用开源的那种,教程GOOGLE一下java 串口;;;;;
还有 我记得java貌似不能直接串口发送16进制数 得封装,想多的交流再问我吧!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯