[問題] SerialPort收值問題(使用rxtx)

看板java作者 (未來π)時間10年前 (2015/07/01 20:45), 編輯推噓4(401)
留言5則, 2人參與, 最新討論串1/1
因需求需要用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://www.ptt.cc/bbs/java/M.1435754712.A.28C.html

07/03 23:42, , 1F
設定每0.01秒收一次呢
07/03 23:42, 1F

07/03 23:44, , 2F
程式執行太快或堵塞導致重複抓取或沒取到
07/03 23:44, 2F

07/03 23:46, , 3F
猜測啦 不一定對 以做過遊戲要刷新畫面遇過類似
07/03 23:46, 3F

07/03 23:46, , 4F
問題
07/03 23:46, 4F

07/04 02:52, , 5F
有用其他工具Monitor過Rx Tx嗎?搞不好MCU就送錯了
07/04 02:52, 5F
文章代碼(AID): #1La-3OAC (java)
文章代碼(AID): #1La-3OAC (java)