IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Acquisition port série COM 1


Sujet :

Entrée/Sortie Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 53
    Points : 28
    Points
    28
    Par défaut Acquisition port série COM 1
    Bonjours,

    Je suis actuellement en stage et mon responsable me demande de réaliser un programme ou de trouver un logiciel permettant d'afficher de façon lisible les informations reçues par le port COM 1.

    Ces informations étant destinées à une imprimante Epson Lx-300+ qui les imprimerait au fil de l'eau. Pour l'instant j'aimerais les stoker dans un ficher.txt.

    Quelqu'un saurait-il m'indiquer comment procéder ?

    Merci d'avance pour votre aide.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 53
    Points : 28
    Points
    28
    Par défaut
    Voici le code que j'ai récupéré:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    import javax.comm.*;  
    import java.io.*;  
    import java.util.*;  
    /*  
    Cette classe permet de tester les ports séries disponibles  
    en les listant puis en créant un stream d'entrée et de sortie  
     */  
    public class Lire{  
     CommPortIdentifier portId;  
     BufferedReader in;  
     PrintWriter out;  
     SerialPort serialPort;  
     /*  
    Constructeur de la classe test qui prend en paramètre le port série à utiliser.  
    Dans un premier temps on liste les ports disponibles sur le pc  
      */  
     public Lire (String com)  
     {  
      System.out.println("liste des ports série disponibles:" );  
      listePortsDispo();  
      try  
      {  
       // ouverture du port série:  
       portId=CommPortIdentifier.getPortIdentifier(com);  
       serialPort=(SerialPort)portId.open("Envoi",2000);  
       // on sélectionne tous les paramètres de la connexion série:  
       serialPort.setSerialPortParams(1200,SerialPort.DATABITS_8,  
         SerialPort.STOPBITS_1,  
         SerialPort.PARITY_NONE);  
       System.out.println("Ouverture du port "+com);  
       // pour lire avec des streams:  
       in=new BufferedReader(new InputStreamReader(serialPort.getInputStream()));  
       // Teste de lecture sur le port série  
       String codeBarre = new String();  
       try {  
        //lecture du buffer et affichage  
        codeBarre = (String) in.readLine();  
        System.out.println(codeBarre);  
       } catch (IOException e) {  
       }  
       in.close();  
      }  
      catch (Exception e)  
      {  
       e.printStackTrace();  
      }  
     }//fin constructeur  
     
     
     public void listePortsDispo()  
     {  
      System.err.println("recherche..." );  
      Enumeration portList=CommPortIdentifier.getPortIdentifiers();  
      if (portList==null)  
      {  
       System.err.println("Aucun port de communication détecté" );  
       return;  
      }  
      while (portList.hasMoreElements())  
      {  
       portId=(CommPortIdentifier)portList.nextElement();  
       System.out.println("* "+portId.getName());  
      } //fin while  
     } //fin de la methode listePortsDispo()  
     
     
    /*Methode main qui permet de tester notre classe de tester en ouvrant une connexion sur le port COM1.  
      */  
     public static void main(String args[])  
     {  
      new Lire ("COM1" );  
     }//fin du main  
    }//fin de la classe
    Et l'erreur produite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    javax.comm.PortInUseException: Port currently owned by comrs232  
     at javax.comm.CommPortIdentifier.open(CommPortIdentifier.java:337)  
     at Lire.<init>(Lire.java:25)  
     at Lire.main(Lire.java:71)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 53
    Points : 28
    Points
    28
    Par défaut
    Avec le logiciel d’acquisition Serial Port Monitor j'obtient ceci:

    Terminal view:
    €.€€ø€.ø€€ø€.€.€.€x.ø€€xüxü€øx<.øxü€ø€xÀ.€.xüx<.ø€€xüxÀ€øxü€øx<.ø.x<ÿ€€xüx<.ø.€xü.€x.xü.ø€xüx<ðøø.ø.øø€xÀ.€ø€xüxÀøø€ø.øø€x.xüøøx<ðø.€.€.€.ø€øxÀx.€.€øxÀx.€ø€€.€x.€.€€ø€.ø€€ø€.€.€.€x.ø€€xüxü€øx<.øxü€øx<.ø€€ø.x<ÿ.€€øxüø€ø€€øx<.øø€xü.€€€€.ø€xüxÀ€€€.ø€.€.€ø.€xü.€x..€.€xü.€øxüø€ø€€øx<.øø€xü.€€€€.ø€xüxÀ€€€.ø€.€.€ø.€.€.€.ø€øxÀx.€.€øxÀx.€ø€€.€x.€.€€ø€.ø€€ø€.€.€.€x.ø€€xüxü€øx<.øxü€øx<.ø€€ø.x<ÿ.€x<.ø.øøxÀøø.øø€xÀ.€.€.€.€.€.€.€.€.€.€.€xü.€x.............................................................................................................................................................................................................
    Line view:

    [18/04/2013 10:47:00]
    4023 IRP_MJ_DEVICE_CONTROL - Request operates a serial port
    STATUS_SUCCESS
    IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port
    Errors - 3
    HoldReasons - 0
    AmountInInQueue - 13
    AmountInOutQueue - 0
    EofReceived - 0
    WaitForImmediate - 0
    ----------------------------------------------------------------------------------
    [18/04/2013 10:47:00]
    4025 IRP_MJ_READ - Transfers data from a COM port to a client
    STATUS_SUCCESS
    00 f8 80 78 fc 78 c0 80 80 80 00 f8 80 .ø€xüxÀ€€€.ø€

Discussions similaires

  1. acquisitions données du port série
    Par pierre bernard dans le forum Langage
    Réponses: 2
    Dernier message: 07/09/2010, 10h22
  2. Réponses: 6
    Dernier message: 07/01/2009, 08h04
  3. Réponses: 1
    Dernier message: 28/11/2007, 17h44
  4. [Port Série] Redirection d'un port COM
    Par goddet dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 02/05/2007, 09h00
  5. Réponses: 11
    Dernier message: 29/03/2006, 16h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo