Чтобы написать приложение Java для связи с устройствами последовательного порта в среде Windows, просматриваемые в Google, похоже, отвлекают во многих направлениях, а также любят некоторые из сторонних библиотек инструментов, таких как RXTX JavaComm. При попытке использовать образцы кодов RXTX с использованием справочника eclipse.
В выводе не отображались последовательные порты, просто пусто
Выход :
Стабильная библиотека
Версия собственной библиотеки = RXTX-2.1-7
Версия библиотеки Java = RXTX-2.1-7
Какую ошибку я сделал?
Сообщите мне, что этот подход лучше, или предложите лучшее решение?
Пожалуйста, дайте мне знать об альтернативах этой проблемы, я хочу общаться с устройством через последовательный порт, используя java, данные будут отправлены с устройства и должны быть записаны в файлы.
Заранее спасибо
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 это было реализовано почти сразу.
Похожие вопросы
Связанные вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.