Выполнение печати весов программно через последовательный порт - PullRequest
0 голосов
/ 21 марта 2009

Как? Я использую функцию 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; приложение написано на c # на компактной платформе 2.0, тонкий клиент hp, WinCE 5.0

Любые идеи приветствуются. Это должно быть просто сделать, но, очевидно, нет.

Ответы [ 3 ]

0 голосов
/ 21 марта 2009

Может быть, просто CR не работает, хотя руководство предполагает, что это работает? вы пробовали

Byte[] bytes = {80, 13, 10}; //50 0D 0A
0 голосов
/ 08 марта 2019

У меня была такая же проблема с версией ES, возвращающейся мне на OHAUS Valor 7000.

Я тестировал замазку, используя ctrl-j для отправки CRLF, и продолжал получать es обратно. Я закончил тем, что ударял замки кепок, и это начало работать.

В моем коде отправка 0x50 не сработает, но отправка десятичной запятой 80 закончилась, как предложено выше, что странно, потому что 0x50 = 80.

0 голосов
/ 21 марта 2009

Вы уверены, что ваши скорости передачи / стоповые биты и т. Д. Верны (см. Стр. 12 и 13 в руководстве)?

...