我有一个程序通过串口发送ASCII命令给设备。该计划是一个演示,并没有做我想要的。c#ascii协议问题
我只是想让设备在C#中响应,我没有得到任何回报。 所有的串口设置都是正确的。 我发送与演示软件完全相同的信息。
//e.g message <STX>ABC<EOT>
byte[] msg = new byte[5];
msg[0] = 0x02;
msg[1] = 0x41;
msg[2] = 0x42;
msg[3] = 0x43;
msg[4] = 0x04;
comport.write(msg, 0,msg.length)
设备是显示器。代码只是一个例子。没有心跳只是对发送的正确消息或错误消息的响应。这些设置是标准的9600-8-N-1。 “引脚2和3之间的回形针(TX和RX)。”是的,我知道电缆的工作原理,因为它与产品软件一起使用。并且即时回复我发送的内容。我已经使用了一个虚拟的com程序,一切似乎都没问题。 “6字节,但只初始化第5个字母。”对不起,错字。
SerialPort.DtrEnable和RtsEnable属性为true。在c#中默认开启。我已经尝试了超级终端,并没有得到任何答复。我发送了\ r和\ n没有运气。
太模糊。什么是设备?演示的来源是什么?设备是否有状态指示灯或其他指示灯表示它正在接收您认为正在发送的输入信号?等等 – jason
什么是设备?什么是协议?假设返回什么?设备文档说什么?换句话说,需要更多信息。 – 2009-12-04 16:42:27
这不包含任何可以帮助诊断问题的信息......“comport”的类型是什么以及它是如何初始化的?你怎么知道串口设置是正确的? –