【发布时间】:2016-03-23 15:24:59
【问题描述】:
我有一个传感器通过串行端口连接到 Windows PC 并用 C# 编程。
命令必须以"\r" 终止,才能被传感器解释。
当我这样做时:
string cmd = "COMMAND\r";
serialPort.send(cmd);
我会立即得到回复。
但如果我这样做:
string cmd = "COMMAND" + "\r";
serialPort.send(cmd);
我没有得到任何回应。我检查过,两个字符串的 char[] 表示似乎是相同的。
我错过了什么?
已解决:上面的代码有效。问题出在其他地方。叹息。
【问题讨论】:
-
您是否复制/粘贴了这些命令?真正的输入是什么(而不是
COMMAND)? -
字符串构造不是问题的原因。看看别处(只是第一个命令有效,而第二个无效?)
-
比较
cmd.GetHashCode()的输出。如果他们不一样,你很幸运 -
你是对的。这是另一回事。我试图将其浓缩为显示问题的最小函数。马上回来。
标签: c# serial-port string-concatenation