[問題] QSerialPort接受數據問題

作者: MOONY135 (談無慾)   2017-04-19 15:40:50
開發平台(Platform): (Ex: Win10, Linux, ...)
win7
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
vs2015
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
qt 5.7
問題(Question):
http://codepad.org/lpy6REnh
以上是我的code
我想對usb的東西送指令
使用的是
UART to USB
我用QSerialPort的SIGNAL(readyRead())去監聽回傳回來的東西
他可能分段傳回來 但我需要完整的一段 才有辦法解析
回傳可能長這樣
"\x06"
"\x23"
"\x4\x12\x85"
"\x83\x86\xB0\x83\xEA"
但我需要知道他甚麼時候結束 才能作解析
"\x06\x23\x4\x12\x85\x83\x86\xB0\x83\xEA" <-再把這串拿去做解析
開頭跟結尾理論上會是固定的 \x06開頭 \xEA結尾
目前還是用btn去控制 但之後要用timer去掃SnedMsg()這個slot
請問有推薦的做法嗎
作者: uranusjr (←這人是超級笨蛋)   2017-04-19 16:43:00
標準做法是自己做一層負責收資料的 controller, 收到0xea 的時候發一個 signal, 其他人接這個 signal 就好對概念上是這樣, 上面這段程式有 bug 你之後自己會發現

Links booklink

Contact Us: admin [ a t ] ucptt.com