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

时间:2009-03-20 23:56:27

标签: .net compact-framework serial-port

怎么样?我正在使用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

编写的

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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

我在OHAUS Valor 7000上再次遇到ES字符串时遇到了同样的问题。

我正在使用ctrl-j用腻子进行测试,以发送CRLF,并一直找回es。我最终碰到大写锁定,并且开始工作。

在我的代码中,发送0x50无效,但发送十进制的80却像上面的建议那样工作,这很奇怪,因为0x50 = 80。