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

API standards et tierces Java Discussion :

[Rxtx] Lecture et �criture des donn�es envoy�es par Rs232


Sujet :

API standards et tierces Java

  1. #1
    Membre � l'essai
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2011
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 5
    Par d�faut [Rxtx] Lecture et �criture des donn�es envoy�es par Rs232
    Bonjour ,

    je cherche � lire des donn�es envoy�es par un microcontr�leur PIC18 et les enregistrer dans un fichier via la librairie Rxtx.
    Cependant, je n'arrive pas � le faire, mon fichier reste vide et j'obtiens pas mal d'erreurs .
    Voici le code que j'ai fais :

    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
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
     
    import gnu.io.CommPort;
    import gnu.io.CommPortIdentifier;
    import gnu.io.NoSuchPortException;
    import gnu.io.PortInUseException;
    import gnu.io.SerialPort;
     
    import java.io.BufferedWriter;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.io.PrintWriter;
     
    public class COMListener {
     
    	//private int rate=9600;
    	public int etatPort;	// 1 port en attente, 2 transmission, sinon pas detecté
    	private CommPort commPort;
    	public COMListener() {
    		super();
    	}
     
    	void connect(String portName) throws Exception {
     
    		try{
    			CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(portName);
     
    		if (portIdentifier.isCurrentlyOwned()) {
    			System.out.println("Erreur: Port déja en cours d'utilisation");
    		} else {
    			commPort = portIdentifier.open(this.getClass().getName(),2000);
    			System.out.println("port détecté ! ");
     
    			etatPort=1;
    			System.out.println("etatport " +getEtatPort());
    			if (commPort instanceof SerialPort) {
    				SerialPort serialPort = (SerialPort) commPort;
    				//serialPort.setSerialPortParams(57600, SerialPort.DATABITS_8,SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
    				serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8,SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
    				//serialPort.setSerialPortParams(rate, SerialPort.DATABITS_8,SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
     
     
    				InputStream in = serialPort.getInputStream();
    				OutputStream out = serialPort.getOutputStream();
     
    				(new Thread(new SerialReader(in))).start();
    				(new Thread(new SerialWriter(out))).start();	
    				System.out.println("Mot ecrit");
    			} else {
    				System.out.println("Erreur: Seuls les ports série sont utilisés");
     
    			}
     
    		}
     
    		}catch(NoSuchPortException ex){
    			System.out.println("Pas de port détecté ! ");
     
    		}
    		catch(PortInUseException e1){
    			System.out.println("Erreur: Port déja en cours d'utilisation dans un autre programme");
     
     
    		}
     
    	}
     
    	/** */
    	public static class SerialReader implements Runnable {
    		InputStream in;
     
    		public SerialReader(InputStream in) {
    			this.in = in;
    		}
     
     
     
    		public void run() {
    			PrintWriter out = null;
    			byte[] buffer = new byte[8];
    			int len = -1;
    			try {
    				out = new PrintWriter(new BufferedWriter(new FileWriter(
    						"fichiers/test.txt",true)));
     
    				while ((len = this.in.read(buffer)) > -1) {
    					String next=new String(buffer,0,len);
    					System.out.print(next);
    					out.print(next);
    					out.flush();
    				}
    		//	out.newLine();			//saut de ligne
     
    				System.out.println(out);
    			} catch (IOException e) {
    				if (out != null)
    					out.close();
    				e.printStackTrace();
    			}
    		}
    	}
     
    	/** */
    	public static class SerialWriter implements Runnable {
    		OutputStream out;
     
    		public SerialWriter(OutputStream out) {
    			this.out = out;
    		}
     
    		public void run() {
    			try {
    				int c = 0;
    				while ((c = System.in.read()) > -1) {
    					this.out.write(c);
    				}
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}
    	}
     
    	 public int getEtatPort() {
             return etatPort;
     }
    	 public void fermerPort(){
    		 commPort.close();
    	 }
     
     
     
    }

  2. #2
    Membre � l'essai
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2011
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 5
    Par d�faut
    Voila l'erreur que j'obtiens

    java.io.IOException: No error in readArray
    at gnu.io.RXTXPort.readArray(Native Method)
    at gnu.io.RXTXPort$SerialInputStream.read(RXTXPort.java:1398)
    at gnu.io.RXTXPort$SerialInputStream.read(RXTXPort.java:1287)
    at COMListener$SerialReader.run(COMListener.java:88)
    at java.lang.Thread.run(Unknown Source)


    quelqu'un saurait-il comment la r�soudre? parce que moi le "no error" il m'a tu�

  3. #3
    Membre � l'essai
    Homme Profil pro
    �tudiant
    Inscrit en
    Mars 2011
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 5
    Par d�faut
    J'ai r�ussi � r�gler mon probl�me et la r�ception de ce que j'envoie par la liaison fonctionne nickel .
    Par contre ce que je voudrais maintenant c'est pouvoir renvoyer un caract�re 'R' pour indiquer que mon message a bien �t� re�u. Le probl�me c'est que je ne vois pas comment faire pour envoyer quelque chose dans la liaison :/
    Quelqu'un saurait-il comment proc�der?

Discussions similaires

  1. R�ponses: 1
    Dernier message: 14/05/2010, 11h13
  2. [PHP 5.3] Niveaux de protection des donn�es envoy�es par la m�thode post
    Par bailamos dans le forum Langage
    R�ponses: 1
    Dernier message: 24/03/2010, 20h30
  3. [AJAX] encod� des donn�s envoy� par POST
    Par stc074 dans le forum AJAX
    R�ponses: 2
    Dernier message: 19/07/2009, 18h00
  4. [S�curit�] Cryptage des donn�es envoy�es par le r�seau
    Par DeusXL dans le forum D�veloppement
    R�ponses: 6
    Dernier message: 05/03/2007, 04h29
  5. R�ponses: 9
    Dernier message: 26/04/2006, 14h59

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