0
我正在使用Moxa Serial Hub集中了一些使用RS-232/NMEA協議進行通信的設備。使用TCP從COM端口讀取數據
串行集線器作爲TCP客戶端工作,每次接收數據時都會將它傳輸到我的機器中的知識IP /端口。
的問題是,我無法正確接收數據(我以爲所有我所要做的就是創建一個接受連接的TCP服務器,並讀取數據字節,但只是給了我一些奇怪的字符)
我收到的字節...但是當轉換爲文本...它只是一些奇怪的字符,我錯過了這個轉換的一些細節。 到目前爲止,我已經試過:
byte[] b = new byte[1000];
int k = s.Receive(b);
Console.WriteLine(Encoding.UTF8.GetString(b, 0, 1000));
Console.WriteLine(Encoding.ASCII.GetString(b));
for (int i = 0; i < k; i++)
Console.Write(Convert.ToChar(b[i]));
所有這些3種方法寫同樣的文字...
任何一個人知道如何正確地在此情況下,讀出的數據?
所以你實際上從moxa集線器獲得連接請求並接收(錯誤)數據?那麼它可能與moxa設備上錯誤的串口設置有關(可能是錯誤的波特率) – Jan
你確定你的數據應該是文本(而不是一些原始字節數組)嗎? – Fernando
我收到它作爲一個字節數組,但我需要將其轉換爲我可以使用的東西(NMEA協議),所以我需要將其轉換爲文本正確... – RagnaRock