1

所以我被困住了,我需要再次求助于你们的专家,让我摆脱困境。

我有 ac# forms 项目,该项目将通过串行端口(rs232)移动相机。(视觉工作室 2010)

当我使用超级终端时,相机会做出应有的反应。

设备使用 ASCII 进行通信。我认为 serialPort 类在发送字节时会将字符串转换为 ASCII。如果我对此有误,请纠正我。当我加载表单项目时,设备没有反应。我尝试过两种方式构建表格,

我用过

 SerialPort com = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);  
com.Open();

private void button1_Click(object sender, EventArgs e)
{
com.Write("move left" + "/r/n")
}

我还通过将串行端口工具放入我的表单并调用该函数来使用它

serialPort1.Write("move left" + "/r/n");

我尝试过不同的握手和不同的波特率。我已确保设置也与相机上的设置相匹配。

我需要你的帮助。有人可以向我解释为什么设备没有响应吗?它的行为就好像它没有连接一样。

串行链接在开始之前是否需要某种协商(例如通过 telnet 连接)?身份证所以你能指出我吗?

我也试过

serialPort1.write("move left"+serialPort1.newline)

//and

serialPort1. write("move left"+"/n")
4

2 回答 2

1

在超级终端中,您是否在命令后按回车键?如果是这样,您将需要发送\r\n实际上与超级终端中的点击输入相同的内容。

于 2011-12-09T00:14:31.220 回答
1

好的,所以我想我只是太精疲力尽了。在离开该项目几天后,我发现了问题。DiscardNull 属性设置为 false。它需要设置为真。感谢大家的帮助。

于 2011-12-14T16:23:46.653 回答