所以我被困了,我需要再次向你的专家求助,让我脱离堵塞。
我有一个c#表单项目,它将通过串口(rs232)移动摄像机。 (VISUAL STUDIO 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")
}
我还使用了serialport工具,将其放入我的表单并使用
调用该函数serialPort1.Write("move left" + "/r/n");
我尝试过不同的握手和不同的波特率。我确保设置也与相机上的设置相匹配。
我需要你的帮助。有人可以向我解释为什么设备没有响应?它表现得好像没有连接。
串行链接在开始之前是否需要某种协商(就像telnet连接一样)?你能指点我吗?
我也试过
serialPort1.write("move left"+serialPort1.newline)
//and
serialPort1. write("move left"+"/n")
答案 0 :(得分:1)
在超级终端中,你在命令后按Enter键吗?如果是这样,你需要发送\r\n
,这实际上与在超级终端中点击输入相同。
答案 1 :(得分:1)
好的,所以我想我太过分了。离开这个项目几天后,我发现了问题。 DiscardNull属性设置为false。它需要设置为true。谢谢大家的帮助。