1. Скачать 64-битный RXTX для Java Ссылка: http://fizzed.com/oss/rxtx-for-java
2. После повреждения загруженного пакета следуйте инструкциям и поместите его под путь установки Java_home, то есть Java.
3. Добавить в Maven's Pom.xml
<Depective> <groupid> org.rxtx </GroupId> <artifactId> rxtx </artifactid> <sersion> 2.1.7 </version> </vehyse>
4. Серийный API
Comport: абстрактный класс порта CommportIdentifier: Core Class Serialport для доступа и управления последовательным портом: через него вы можете напрямую читать, записать и устанавливать серийный порт.
5. Перечислите доступные порты этой машины
Enumeration <comportidentifier> em = commportidentifier.getportientifiers (); while (em.hasmoreelements ()) {string name = em.nextelement (). getName (); System.out.println (имя); }6. Общие шаги: Откройте последовательный порт, чтобы получить объект последовательного порта ==》 Установите параметры ==》 Считайте и напишите последовательный порт ==》 Закройте последовательный порт, среди которого считывается последовательный порт чаще используется
// Откройте серийный порт comportedifierifier portidentifier = commportientifier.getPortIdentifier ("com4"); // com4 - серийное имя порта comport = portidentifier.open ("com4", 2000); // 2000 - это открытый тайм -аут serialport = (serialport) Comport; // Установить параметры (включая скорость передачи передачи, управление входом/выходным потоком, количество битовых данных, стоп -бит и равномерная проверка) serialport.seterialportparams (9600, serialport.databits_8, serialport.stopbits_1, serialport.parity_none); // слушать serialport.addeventlistener (new abc ()); // ABC - это класс, который реализует интерфейс serialporteventListener. Конкретная операция чтения выполняется в нем .// Статут, чтобы разбудить поток для получения прослушивания, когда данные прибывают в serialport.notifyondataavailable (true); // Установите, чтобы разбудить поток прерывания, когда коммуникация прервана serialport.notifyonbreakintrupt (true); // in.close (); // закрыть серийный портСодержание ABC, то есть конкретная операция чтения последовательного порта:
public class Abc implements SerialPortEventListener { public void serialEvent(SerialPortEvent arg0) { // TODO Auto-generated method stub //Judge and operate the following content/* BI - Communication interrupt CD - Carrier detection CTS - Clear sending DATA_AVAILABLE - Data has arrived at DSR - Data device is ready FE - Frame error OE - Overflow error OUTPUT_BUFFER_EMPTY - Output buffer is cleared PE - ошибка паритета RI - Индикация кольца */ // переключить несколько, если single if (arg0.geteventType () == serialportevent.data_available) {try {inputstream in = null; байт [] байты = null; in = app.serialport.getInputStream (); int bufflenth = in.vailable (); while (bufflenth! = 0) {// инициализировать массив байтов в длину данных в буферных байтах = новый байт [bufflenth]; in.read (байты); System.out.println (новая строка (байты)); bufflenth = in.vailable (); }} catch (Exception e) {// todo автоматически сгенерированный блок e.printstacktrace (); }}}}Операция записи:
OutputStream out = serialport.getOutputStream (); out.write (data); // byte [] data; out.flush ();
Суммировать
Выше приведено все содержание этой статьи о процессе реализации серийного общения Java, и я надеюсь, что это будет полезно для всех. Если у вас есть какие -либо вопросы, пожалуйста, оставьте сообщение в любое время и с нетерпением ждем ваших ценных комментариев.