gpt4 book ai didi

C# 连接字符串以进行串行发送

转载 作者:行者123 更新时间:2023-11-30 18:22:08 25 4
gpt4 key购买 nike

我有一个传感器通过串行端口连接到 Windows PC 并使用 C# 编程。命令必须以 "\r" 结束,以便传感器对其进行解释。当我这样做时:

string cmd = "COMMAND\r";
serialPort.send(cmd);

我会立即得到回应。

但如果我这样做:

string cmd = "COMMAND" + "\r";
serialPort.send(cmd);

我没有收到任何回复。我已经检查过,两个字符串的 char[] 表示似乎相同。

我错过了什么?

已解决:上面的代码有效。问题出在别处。叹息。

最佳答案

两种情况都是正确的。我几乎可以肯定,您遇到的问题取决于编程 SerialPort 对象。仅请求 BytesToRead 然后从端口“读取”并不总是足够的。从经验教训中,更可靠的解决方案是拥有一个永久读取端口输出的Port Listenning任务,将输出附加到某个缓冲区,分析缓冲区内容,然后在检测到特定状态时,发射和特定条件事件。

关于在发送到端口和端口读取之间的延迟实现的最明显的想法将工作不稳定和缓慢。

关于解决端口问题的另一个建议是使用嗅探器查看端口的实际输出。

此外,我建议对端口 IO 使用 Write(Byte[], Int32, Int32)Read(Byte[], Int32, Int32) 命令

关于C# 连接字符串以进行串行发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34329861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com