→ uranusjr: 標準做法是自己做一層負責收資料的 controller, 收到 04/19 16:43
→ uranusjr: 0xea 的時候發一個 signal, 其他人接這個 signal 就好 04/19 16:43
所以是讀到的字串用QString AddStr
把他接起來 然後掃最後一位數是否為 \xEA
如果是的話 把這段往上傳 然後然後把AddStr清除?
void Meter::portToRead() {//資料接收、打印
QString Rx;
QString AddStr;
Rx = serial->readAll();
AddStr += Rx;
if (AddStr.right(4) == \xEa){
emit message(AddStr);
AddStr = "";
}
}
大概改成這種感覺?
※ 編輯: MOONY135 (210.242.6.98), 04/19/2017 16:52:42
→ uranusjr: 對概念上是這樣, 上面這段程式有 bug 你之後自己會發現 04/19 18:06
我知道 QString Rx; 要弄成全域變數
不過好像還是少了點甚麼
※ 編輯: MOONY135 (36.225.55.127), 04/19/2017 20:28:52