java讀取串列埠資料不完整

2021-09-19 20:45:22 字數 596 閱讀 2311

從串列埠讀取位元組之前先延時50ms,之前!!!之前!!!之前!!!

後面又出現了問題,傳送指令也需要時!!!否則一條指令傳送不完整,獲取到的應答包就會出錯。

public

static

byte

readfromport

(serialport serialport)

;try

catch

(interruptedexception ex)

try}

catch

(ioexception e)

finally

}catch

(ioexception e)

}return bytes;

}

總的說來:1)傳送資料要傳送完(延遲),否則指令就會執行出錯,解析應答包就會出錯。2)接受資料要接受完(延遲),否則解析應答包不完整!!

這句的位置放在下面的try語句裡讀取資料都要出錯。

根據需要可以將多延時下thread.sleep(1000);

特別特別感謝:

參考了下面的也不行,不過總結的很好了:

C 解決串列埠接收資料不完整

使 用快取機制完成。首先通過定義乙個成員變數listbuffer new list 4096 用來存放所有的資料,在接收函式裡,通過buffer.addrange 方法不斷地將接收到的資料加入到buffer中,並同時對 buffer中的資料進行檢驗,如果達到一定的長度並且校驗結果正確 校驗方法在傳送...

C 解決串列埠接收資料不完整

使用快取機制完成。首先通過定義乙個成員變數listbuffer new list 4096 用來存放所有的資料,在接收函式裡,通過buffer.addrange 方法不斷地將接收到的資料加入到buffer中,並同時對 buffer中的資料進行檢驗,如果達到一定的長度並且校驗結果正確 校驗方法在傳送方...

C 解決串列埠接收資料不完整

c 解決串列埠接收資料不完整 引用鏈結 使 用快取機制完成。首先通過定義乙個成員變數listbuffer new list 4096 用來存放所有的資料,在接收函式裡,通過buffer.addrange 方法不斷地將接收到的資料加入到buffer中,並同時對 buffer中的資料進行檢驗,如果達到一...