1. ดาวน์โหลด 64- บิต rxtx สำหรับลิงค์ Java: http://fizzed.com/oss/rxtx-for-java
2. หลังจากคลายซิปแพ็คเกจที่ดาวน์โหลดทำตามคำแนะนำและวางไว้ใต้เส้นทางการติดตั้งของ Java_home นั่นคือ Java
3. เพิ่มใน maven's pom.xml
<Ederency> <roupId> org.rxtx </groupId> <ratifactId> rxtx </artifactId> <version> 2.1.7 </version>
4. API อนุกรม
Commport: คลาสนามธรรมของพอร์ต CommportIdiFier: SerialPort Core Class สำหรับการเข้าถึงและการควบคุมพอร์ตอนุกรม: ผ่านมันคุณสามารถอ่านเขียนและตั้งค่าพอร์ตอนุกรมโดยตรง
5. แสดงรายการพอร์ตที่มีอยู่ของเครื่องนี้
การแจงนับ <mommportIdentifier> EM = CommportIdentifier.getPortIdentifiers (); ในขณะที่ (em.hasmoreElements ()) {ชื่อสตริง = em.nextElement (). getName (); System.out.println (ชื่อ); -6. ขั้นตอนทั่วไป: เปิดพอร์ตอนุกรมเพื่อรับวัตถุพอร์ตอนุกรม ==》 พารามิเตอร์ตั้งค่า ==》 อ่านและเขียนพอร์ตอนุกรม ==》 ปิดพอร์ตอนุกรมซึ่งการอ่านพอร์ตอนุกรม
// เปิดพอร์ตอนุกรม portidentifier portidentifier = CommPortIdentifier.getPortIdentifier ("com4"); // com4 เป็นชื่อพอร์ตอนุกรม commport = portidentifier.open ("com4", 2000); // 2000 เป็น timeout serialport = (serialport) Commport; // ตั้งค่าพารามิเตอร์ (รวมถึงอัตราการรับส่งข้อมูลการควบคุมการไหลของอินพุต/เอาท์พุทการนับบิตข้อมูลการหยุดบิตและการตรวจสอบแบบสม่ำเสมอ) serialport.setserialportParams (9600, serialport.databits_8, serialport.stopbits_1, serialport.parity_none); // ฟัง serialport.addeventListener (ใหม่ ABC ()); // ABC เป็นคลาสที่ใช้อินเตอร์เฟส serialporteventListener การดำเนินการอ่านที่เฉพาะเจาะจงจะดำเนินการใน IT.// ตั้งค่าเพื่อปลุกเธรดการรับฟังเมื่อข้อมูลมาถึง serialport.notifyondataavailable (จริง); // ตั้งค่าให้ปลุกเธรดอินเตอร์รัปต์เมื่อการสื่อสารถูกขัดจังหวะ serialport.notifyonbreakInterrupt (จริง); // in.close (); // ปิดพอร์ตอนุกรมเนื้อหา ABC นั่นคือการดำเนินการเฉพาะของการอ่านพอร์ตอนุกรม:
ระดับสาธารณะ ABC ใช้ SerialPortEventListener {โมฆะสาธารณะ serialEvent (serialportEvent arg0) {// todo วิธีการที่สร้างขึ้นอัตโนมัติ stub // ตัดสินและใช้งานเนื้อหาต่อไปนี้/* bi - การสื่อสารอินเตอร์รัปต์ซีดี ถูกล้าง PE - ข้อผิดพลาด parity ri - ตัวบ่งชี้วงแหวน */ // สลับหลายตัวถ้าเดี่ยวถ้า (arg0.getEventType () == serialportEvent.data_available) {ลอง {inputStream ใน = null; ไบต์ [] ไบต์ = null; ใน = app.serialport.getInputStream (); int bufflenth = in.available (); ในขณะที่ (bufflenth! = 0) {// เริ่มต้นอาร์เรย์ไบต์ให้เป็นความยาวของข้อมูลในบัฟเฟอร์ไบต์ = ไบต์ใหม่ [bufflenth]; in.read (ไบต์); System.out.println (สตริงใหม่ (ไบต์)); bufflenth = in.available (); }} catch (exception e) {// todo บล็อก catch block ที่สร้างอัตโนมัติ e.printstacktrace (); -การดำเนินการเขียน:
outputStream out = serialport.getOutputStream (); out.write (ข้อมูล); // byte [] data; out.flush ();
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้เกี่ยวกับกระบวนการดำเนินการของการสื่อสารแบบอนุกรม Java และฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน หากคุณมีคำถามใด ๆ โปรดฝากข้อความไว้ตลอดเวลาและหวังว่าจะได้รับความคิดเห็นที่มีค่าของคุณ