如何?我正在使用SerialPort.Write函数,它看起来像大部分时间都可以工作,但是它突然停止工作。
我还注意到,每次我发送命令进行打印(即使我按照手册,P带回车),我得到包含“ES”的字符串 - 根据手册意味着错误,即使重量被捕获。然后突然,刻度停止对打印命令作出反应。
这是我的代码:
//send the print command to the balance:
Byte[] bytes = {80, 13}; //50 0D
_sp.Write(bytes,0,bytes.Length);
_sp是SerialPort类的一个实例。我正在使用OHAUS CD-11平衡; app是用紧凑型框架2.0,hp瘦客户端,WinCE 5.0上的c#编写的
任何想法都表示赞赏。应该很简单,但显然不是。
您确定您的波特率/停止位等是正确的(请参阅手册中的第12页和第13页)?
即使手册暗示它可能只是CR不起作用?你尝试过吗?
Byte[] bytes = {80, 13, 10}; //50 0D 0A
我在OHAUS Valor 7000上回复我的ES字符串也遇到了同样的问题。
我正在使用ctrl-j测试使用putty来发送CRLF并继续使用它。我最终击中大写锁定它开始工作。
在我的代码中,发送0x50不起作用,但发送小数80最终像上面的建议一样工作,这是奇怪的,因为0x50 = 80。