Чтобы написать приложение Java для связи с устройствами последовательного порта в среде Windows, просматриваемые в Google, похоже, отвлекают во многих направлениях, а также любят некоторые из сторонних библиотек инструментов, таких как RXTX JavaComm. При попытке использовать образцы кодов RXTX с использованием справочника eclipse.

В выводе не отображались последовательные порты, просто пусто

Выход :

Стабильная библиотека

Версия собственной библиотеки = RXTX-2.1-7

Версия библиотеки Java = RXTX-2.1-7

Какую ошибку я сделал?

Сообщите мне, что этот подход лучше, или предложите лучшее решение?

Пожалуйста, дайте мне знать об альтернативах этой проблемы, я хочу общаться с устройством через последовательный порт, используя java, данные будут отправлены с устройства и должны быть записаны в файлы.

Заранее спасибо

2
gks 24 Дек 2012 в 11:29
Не могли бы вы опубликовать код, который используете?
 – 
claymore1977
30 Дек 2012 в 03:21
Ссылку на ссылку можно найти в сообщениях mah @ Claymore1977.
 – 
thar45
31 Дек 2012 в 08:00

1 ответ

Лучший ответ

Если связанный пример не работает , это означает, что RXTX не обнаружил никаких последовательных портов на вашем компьютере. У вас может быть последовательный порт на вашем компьютере, но одна из причин, по которой он не распознается вашей ОС, может заключаться в том, что он на самом деле является адаптером последовательного порта на USB и распознается как USB порт.

Если вы работаете в Linux, последовательные порты обычно выглядят так:

ls /dev/ttyS*

Выходы:

/dev/ttyS0
/dev/ttyS1
/dev/ttyS2

Адаптированный порт может выглядеть так:

/dev/ttyUSB0

Если вы видите какой-то вывод на вашем последовательном устройстве (например, POS-принтере или ЖК-дисплее), вы можете протестировать его следующим образом:

echo 'hello' > /dev/ttyUSB0

И устройство должно показать строку приветствия, если оно подключено к этому порту и все работает правильно.

Однако я определенно рекомендую библиотеку простого последовательного соединителя Java вместо RxTx. Мы опробовали оба варианта в коммерческом POS-приложении (на данный момент> 1 млн билетов).

RxTx успешно используется для последовательной печати. В сценарии печати библиотека RxTx вызывалась последовательно и использовалась только для отправки данных в порт . Только некоторые серийные флаги были красными, что свидетельствовало о наличии устройства.

Но из-за его ограничений мы просто не могли использовать его для чтения ввода с последовательно подключенного IButton. В сценарии iButton ожидается, что данные будут получены асинхронно из порта . Когда мы пытались реализовать это с помощью RxTx, были постоянные ошибки и зависания, но с JSSC это было реализовано почти сразу.

3
linski 2 Янв 2013 в 15:56