各位高手,我是初用delphi,想問下用spcomm控制元件接收串口資料問題,我用串口除錯精靈除錯,在沒操作設備上的按鍵時接收到的資料都是A1 6B FF FF FF FF FF FF FF FF FF FF CA,我按設備上的某個鍵接收到的資料就變成了A1 6B F9 FF FF FF FF FF FF FF FF FF CC或A1 6B FE FF FF FF FF FF FF FF FF FF CB等,我想知道該怎想寫才能只讀取到有用的A1 6B F9 FF FF FF FF FF FF FF FF FF CC或A1 6B FE FF FF FF FF FF FF FF FF FF CB,這樣我就能知道是按的設備上的那個鍵了,急,在線等!!!!
uj5u.com熱心網友回復:
看協議.你手頭的協議檔案.
uj5u.com熱心網友回復:
手上沒協議,就只是用串口除錯助手測了uj5u.com熱心網友回復:
這居然也是個問題,讀取沒有用的直接扔啊,哎uj5u.com熱心網友回復:
新手啊!!!!!!!!!!!!!!!uj5u.com熱心網友回復:
沒協議,靠猜的話,還是比較痛苦的。最好去這個設備的生廠廠商,打電話咨詢 或 去網站下載相關的SDKuj5u.com熱心網友回復:
+1
uj5u.com熱心網友回復:
完全正確,最好能弄到生產說明書上關于通信協議的PDF檔案uj5u.com熱心網友回復:
先做一個二級斷幀的緩沖區, 每次接收到位元組, 回圈檢測收到的位元組陣列, 見到幀頭符(A1)就初始化幀緩沖區指標, 隨后一個個放進去, 到幀結束(位元組計數), 就把這個陣列取出扔給處理程式, 之后又再等待下一個幀頭同步基本思路就這樣了,不明白可以Q我: 2642141788
uj5u.com熱心網友回復:
在SPCOMM的receivedata事件里,把接收到的位元組陣列和你要的按鍵的兩組位元組陣列比較下,也就2次,不麻煩啊。uj5u.com熱心網友回復:
+1
直接跟進去看看就是了,也不多嘛
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/120003.html
標籤:網絡通信/分布式開發
