因需求需要用java做PC端的人机接口
功能是会有资料不断的从单芯片经RS232送出(baud rate 115200,
每0.01秒送出一资料封包)
人机接口收到值经处理后画出图形
现在问题是会不断收到同样的值
假如芯片端送出的值一开始为零依序递增
照理说PC端画出的图形应该是一条斜值线
但问题是每次都会得到一样的值
例如芯片送出为0 1 2 3 4 5 6 7 8 9 10 11......(用超级终端机看过)
可是println出来的却是0 0 0 1 1 1 1 1 1 2 2 2 5 5 6 6 6 7....
资料会有些重复,有些直接消失 画出来的图形像阶梯状
到底是怎么回事呢?? 应该要怎么改才对?
程式大至上跟下面网址的范例一样
http://rxtx.qbang.org/wiki/index.php/Two_way_communcation_with_the_serial_port
也有试过Event形式,但结果还是相同......
程式码如下
public void serialEvent(SerialPortEvent evt) {
if (evt.getEventType() == SerialPortEvent.DATA_AVAILABLE)
{
try
{
byte[] buffer = new byte[1024];
input.read(buffer);
System.out.println(analysisData(buffer)
}
catch (Exception e)
{
System.out.println(e.Message());
}
}
}
}