通过串行端口以编程方式打印余额

问题描述 投票:0回答:3

如何?我正在使用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#编写的

任何想法都表示赞赏。应该很简单,但显然不是。

.net compact-framework serial-port
3个回答
0
投票

您确定您的波特率/停止位等是正确的(请参阅手册中的第12页和第13页)?


0
投票

即使手册暗示它可能只是CR不起作用?你尝试过吗?

Byte[] bytes = {80, 13, 10}; //50 0D 0A

0
投票

我在OHAUS Valor 7000上回复我的ES字符串也遇到了同样的问题。

我正在使用ctrl-j测试使用putty来发送CRLF并继续使用它。我最终击中大写锁定它开始工作。

在我的代码中,发送0x50不起作用,但发送小数80最终像上面的建议一样工作,这是奇怪的,因为0x50 = 80。

© www.soinside.com 2019 - 2024. All rights reserved.