jSerialComm - 串行设备读取器

问题描述

我的第一个项目是从串行端口接收数据。 我已经使用com0com 设置了一个虚拟COM 端口CNCA0。 我可以使用串行端口监视器应用程序将日期发送到此端口。 我现在正在编写一个代码来从这个端口读取数据,每次代码运行时,它都说端口已关闭或已断开连接。

我正在使用 Javascript 在 Mirth Connect 中编写此代码,这是代码


importPackage(Packages.com.fazecast.jSerialComm.*);


var comPort=new Packages.com.fazecast.jSerialComm.SerialPort.getCommPort("CNCA0");
var comPorts=new Packages.com.fazecast.jSerialComm.SerialPort.getCommPorts();
logger.info('Comports->'+JSON.stringify(comPorts));
comPort.openPort();
//comPort.setComPortTimeouts(new Packages.com.fazecast.jSerialComm.SerialPort.TIMEOUT_READ_SEMI_BLOCKING,0);
var indata = new java.lang.StringBuffer();
    
reader = comPort.getInputStream(); //inFromClient
//logger.info('numRead->'+JSON.stringify(reader)+' '+typeof reader+':'+reader)
try
{
   for (j = 0; j < 1000;j++)
   {
        r=reader.read();
        c=new java.lang.Character(r);
        logger.info('char->'+c);
   }
   reader.close();
} 
catch (e) 
{ logger.info('error->'+e) }
comPort.closePort();

当我尝试使用 get commPorts() 时,它返回了这个 Comports->[null,null,null]。

在这里遗漏了什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)