[问题] SerialPort收值问题(使用rxtx)

楼主: future314 (未来π)   2015-07-01 20:45:08
因需求需要用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());
}
}
}
}
作者: DumDumGenius (准大学生)   2015-07-03 23:42:00
设定每0.01秒收一次呢程式执行太快或堵塞导致重复抓取或没取到猜测啦 不一定对 以做过游戏要刷新画面遇过类似问题
作者: deo2000 (800IM)   2015-07-04 02:52:00
有用其他工具Monitor过Rx Tx吗?搞不好MCU就送错了

Links booklink

Contact Us: admin [ a t ] ucptt.com