設備向上位機一直發串口資料,我使用執行緒回圈讀取,可是用readfile常常是讀取到的緩沖區過大,有別的方法嗎???
uj5u.com熱心網友回復:
自己寫有點費事,可以考慮類似 Victor 控制元件,就會簡單很多。uj5u.com熱心網友回復:
好的 我試試 謝謝uj5u.com熱心網友回復:
緩沖區過大是什么意思?readfile執行失敗了?如果是這樣的話,你可以自己建立一個緩沖區,大一點,每次讀取進來之后,就放到緩沖區里,然后再去處理緩沖區里面的資料。串口執行緒只負責把資料讀出來放到緩沖區,另外再開一個資料處理執行緒,不停地處理緩沖區里面的資料就行了。不要從串口讀資料,處理完了再去讀,這樣的話,資料量大的話是來不及的uj5u.com熱心網友回復:
用SetupComm把系統緩沖區設定大一些就可以了,不用設定自己的緩沖區,由于執行緒切換的原因,在高資料率的情況下,你的執行緒可能被掛起而不能及時接收資料,自己的緩沖區設定得再大也沒用。也可以用timeSetEvent,這個是在系統執行緒中運行,可以保證毫秒級的回應,但是對于串行通訊還不必這么高的實時性。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/45946.html
標籤:基礎類
上一篇:求解
下一篇:ndnSIM問題
