【发布时间】:2013-01-31 14:03:24
【问题描述】:
我编写了一个简单的 C# 应用程序,具有串行功能 沟通。我正在使用它来读取和写入设备。装置 识别字符串命令。我能够成功地从设备读取 使用这个应用程序。但是人们正在向设备写入(发送)命令。 我只是在使用
if (serialPort.IsOpen == true)
{
serialPort.Write("Command1");
}
但我的设备没有响应。
为了检查,我尝试使用超级终端向我的 设备和我的设备识别它并完美运行。
任何人都可以指导我什么是准确的写作方式或什么 需要确保在 c# 中写入串行端口。这是编码问题吗... (使用同一个应用程序的串行读取工作得很好!!) 感谢您的宝贵时间。
此外,没有异常或错误,并且处于调试模式 该行执行。
【问题讨论】:
-
你试过
serialPort.Write(@"Command1\n");吗?此外,您的条件应该只是if (serialPort.IsOpen);无需针对true进行测试;它已经是布尔值了。 -
看看我的一些古老的串行资料,我看到 Andrew 提到我正在发送 \r\n 并使用 serialPort.WriteLine
-
@AndrewBarber 我认为您不能在逐字字符串文字中使用
"\n"转义序列。 -
如何使用超级终端发送命令?需要按
Enter吗? -
@AlvinWong 是的;这就是为什么我输入
@"Command1\n"@的意思是\不要逃避。或者您可以像这样对它们进行双重转义:"Command1\\n"
标签: c# serial-port