作者future314 (未来π)
看板java
标题[问题] SerialPort收值问题(使用rxtx)
时间Wed Jul 1 20:45:08 2015
因需求需要用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());
}
}
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.168.85.228
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1435754712.A.28C.html
1F:推 DumDumGenius: 设定每0.01秒收一次呢 07/03 23:42
2F:推 DumDumGenius: 程式执行太快或堵塞导致重复抓取或没取到 07/03 23:44
3F:推 DumDumGenius: 猜测啦 不一定对 以做过游戏要刷新画面遇过类似 07/03 23:46
4F:→ DumDumGenius: 问题 07/03 23:46
5F:推 deo2000: 有用其他工具Monitor过Rx Tx吗?搞不好MCU就送错了 07/04 02:52