1. Téléchargez 64 bits RXTX pour le lien Java: http://fizzed.com/oss/rxtx-for-java
2. Après avoir décompressé le package téléchargé, suivez les instructions et mettez-la sous le chemin d'installation de Java_Home, c'est-à-dire Java.
3. Ajouter le pom.xml de Maven
<dependency> <proupId> org.rxtx </proupId> <Artifactid> rxtx </etefactive> <version> 2.1.7 </-version> </Dependency>
4. API série
Commport: La classe abstraite de Port CommorTentifier: la classe de base Serialport pour l'accès et le contrôle du port série: à travers lui, vous pouvez lire directement, écrire et définir le port série.
5. Énumérez les ports disponibles de cette machine
Énumération <mandportIdentifier> EM = CommportIdentifier.GetPortIdentifiants (); while (em.hasmoreElements ()) {String name = em.nextElement (). getName (); System.out.println (nom); }6. ÉTAPES GÉNÉRALES: Ouvrez le port série pour obtenir l'objet de port série ==》 Définir les paramètres ==》 Lisez et écrivez le port série ==》 Fermez le port série, parmi lequel la lecture du port série est plus couramment utilisée
// Ouvrez le port de série commutridentifier PortIdentifier = CommPortIdentifier.getPortIdentifier ("com4"); // com4 est le nom de port série Commport = portIdentifier.open ("com4", 2000); // 2000 est le délai d'attente ouvert Serialport = (Serialport) Commport; // Définir les paramètres (y compris le taux de bauds, le contrôle de flux d'entrée / sortie, le nombre de bits de données, le bit d'arrêt et la vérification uniforme) serialport.setserialportParams (9600, serialport.databits_8, serialport.stopbits_1, serialport.parity_none); // écoute serialport.addeventListener (new ABC ()); // ABC est une classe qui implémente l'interface SerialPortEventListener. L'opération de lecture spécifique est effectuée dans elle.// défini pour réveiller le thread de réception d'écoute lorsque les données arrivent Serialport.NotifyDataAvailable (true); // défini pour réveiller le thread d'interruption lorsque la communication est interrompue serialport.NotifyOnBreakInterrupt (true); // in.close (); // Fermez le port sérieContenu ABC, c'est-à-dire le fonctionnement spécifique de la lecture du port série:
classe publique ABC implémente SerialportEventListener {public void Serialevent (SerialportEvent Arg0) {// TODO Méthode générée automatiquement Stub // juge et exploite le contenu suivant / * Bi - Interruption de communication CD - Détection de l'opérateur CTS - Erreur de la trame Erreur de la trame Erreur d'épreuve Oed Overfail - Erreur de parité RI - Indication de ring * / // Switch Multiple, si unique if (arg0.getEventType () == serialportEvent.data_available) {try {inputStream dans = null; octet [] octets = null; in = app.serialport.getInputStream (); int buffLenth = in.Available (); while (bufflenth! = 0) {// Initialisez le tableau d'octets à la longueur des données dans les bytes tampon = new byte [bufflenth]; in.read (octets); System.out.println (nouvelle chaîne (octets)); buffLenth = in.Available (); }} catch (exception e) {// TODO Block de capture généré automatiquement e.printStackTrace (); }}}}Opération d'écriture:
OutputStream out = serialport.getOutputStream (); out.write (data); // octet [] data; out.flush ();
Résumer
Ce qui précède est tout le contenu de cet article sur le processus de mise en œuvre de la communication série Java, et j'espère que cela sera utile à tout le monde. Si vous avez des questions, veuillez laisser un message à tout moment et attendez avec impatience vos précieux commentaires.