在通訊速率不改變的前提下,如何能提高從串口接收資料,分析資料,發送資料的回應速度呢?
因為接收的資料都有時序要求,不方便用多執行緒將收發分開,經常出現回應不及時的問題導致上位機要求重新連線,盼高人指點。
uj5u.com熱心網友回復:
串口線短點。波特率固定的情況下視窗傳輸速度也是固定的,你只能優化你的代碼了uj5u.com熱心網友回復:
肯定要用多執行緒,有時序要求也沒關系,收發之間互相不能干擾/阻塞要么就讓上位機增大超時時間
或者設計成二次回應的模式
即 收到資料立刻回應我收到資料了,但是可能要幾秒/幾十秒后才回傳處理后的結果
uj5u.com熱心網友回復:
樓主抱歉,接個樓了

大佬你好請教您指導關于串口通訊的問題。[愛心][愛心]
硬體環境:stm32F4做下位機,利用串口轉USB芯片FT232與NUC小電腦通信,電腦運行Linux,qt寫的上位機軟體。
通訊速率:設定通信波特率2M,下位機每0.5ms上傳一7位元組長度資料幀。連續發送。
串口程式:用QT自帶的串口類寫的,鏈接串口讀取函式和readyRead(),讀取函式用的是readAll()。
問題描述:我用了程式執行時間函式gettimeofday()去查看串口資料讀取情況,發現雖然我下位機是0.5ms上傳一次資料,但是上位機70ms左右才讀取一次串口資料,按道理下位機0.5ms上傳一次,那么上位機readyRead()這應該0.5ms發送一次觸發信號然后讀取串口資料才對。
大佬如果知道任何可能的原因都望能指點一二,小弟在這不勝感激[賣萌][賣萌]
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/94678.html
標籤:應用程序開發區
下一篇:Linux安裝
