2016-11-29 45 views
1

我正在製作一個簡單的演示應用程序Processing,該程序最終應顯示一張顯示我的sensordata的圖表或圖形。在處理中讀取每行中的串行線

我遇到的問題是,我找不到任何其他方法從串口讀取,然後使用port.readString()。這似乎是正確的方式,但這樣它不會讀取每行的序列號。

這是我得到的當前輸出,不用擔心'Writing to file'和'Items written:'文本。我知道如何解決這個問題,這不是問題。

enter image description here

對於程序中的每個線應該由12個值的輸入端。如果沒有這個數據,將很難得出一個圖表。

有沒有辦法讓每行的串行數據,而不是在數字中間的'隨機'linebreaks?

回答

1

the Serial library documentation,這聽起來像你正在尋找the readStringUntil() function

readStringUntil()函數完全像您所描述的那樣讀取String,直到它到達您指定的字符(可能是換行符)。實際上這就是該鏈接中使用的示例。

如果由於某種原因無法正常工作,則可以使用bufferUntil()函數和serialEvent()回調函數在線路完成時獲取事件。或者您可以簡單地自行檢測換行符並根據需要分割值。

如果您遇到困難,我建議您嘗試一些方法併發布MCVE。祝你好運。

+0

哇,你說得對。這似乎是一個完美的解決方案。我不明白這是怎麼沒有出現在我的搜索結果。 生病檢查明天,如果這對我有用:D –

+0

@MathieuBrouwers沒問題。希望對你有效。完全公開:我從來沒有真正使用過串行庫,所以這是我閱讀文檔的最佳猜想。如果有更好的答案,我肯定喬治(這裏的其他處理人員)即將出現。 :p –

+0

現在唯一對我沒有意義的事情是以下幾點。 'readStringUntil()'方法接受一個int作爲參數,我不能說'readStringUntil(「\ n」)',但是在那裏有'10'作爲int,它應該像在文檔中說的那樣做串行庫。 謝謝! –