2012-11-21 54 views
1

我想在串口中多線程。說我有X串口。每個端口都有Y設備(modbus)。我正在從每個設備中取出數據。要從設備中取出數據,我需要發送消息,然後等待響應。我想加快應用程序的速度,這就是爲什麼我想多線程的原因。多線程串口

是否可以在一個串口發送和等待多條消息?

問候
丹尼爾

+1

「多線程」似乎是使用錯誤的流行語。似乎你正在嘗試*多路複用*或使用*多點*。 ** RS-485 **是一種串行協議,專爲具有連接到單個串行通信線路的多個從設備的單個主設備而設計;每個設備都被稱爲「drop」,因此是「multidrop」。 ** Modbus **顯然也是一個多點協議。 – sawdust

回答

1

不,不是這樣的。串口不以這種方式處理數據。它只需要佔用一些字節,並允許您按順序輸出字節。嘗試你所要求的是行不通的。如果不是徹底的錯誤,你會得到亂碼的串口數據。沒有辦法說「這些字節屬於該消息」。

對不起,這只是how they work的基本設計。

+0

謝謝,至少我不會花費更多的時間來嘗試弄清楚它:P – Daniel

+1

OP提到** Modbus **,但您的答案似乎只專注於** EIA/RS-232 **而沒有說明這一點區別。與其他多點協議一樣,Modbus使用可尋址的數據包來確定收件人和發件人。 – sawdust

+0

的確如此,但串行鏈接的使用使得主服務器不可能做任何事情而不是發送單個請求,然後等待答覆。 –