我使用Moxa Serial Hub集中了一些使用RS-232 / NMEA协议进行通信的设备。
串行集线器作为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]));
所有这三种方法都写了相同的文字......
在这种情况下,有人知道如何正确读取数据吗?
答案 0 :(得分:1)
此评论提供了问题的解决方案:
所以你实际上从moxa hub获得连接请求并接收(错误)数据?那么它可能与moxa设备上的错误串口设置有关(可能是错误的波特率) - Jan 2小时前
确实,波特率是错误的。