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

Eclipse Java Discussion :

[Info] Port serie RS232 recuperer une frame ...


Sujet :

Eclipse Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [Info] Port serie RS232 recuperer une frame ...
    Salut a tous,
    voila j ai un probleme de port serie... je m'arrache les cheveux depuis plusieurs semaines sans resultat.
    Je dois recuperer une frame venant d'un chronometre relié a mon ordi via le port serie(RS232).

    J'ai instaler les api et meme créé un programme pour voir les port serie, tt marche les ports serie sont reconnu, mais je travail sur le port serie COM1 et la pas moyen de recuperer quelque chose.

    Voici les parametres du chrono :
    Liaison serie Type RS232 sans controle de flux. 1200bauds, 8 bit, 1 stop bit, pas de parité.

    Exemple de Trame envoyé par le Chronometre : (9 octets par frame)
    FA+00+11+12+02+24+96+EE+OD
    FA = debut de trrame
    OD = Fin de trame
    Le reste sont des données de chronometrage...

    Voila je voudrais savoir si quelqu'un pourrais m'aider a trouver un code permettant de recuperer les données du chrono via le port serie RS232, en sachant que ses donnée peuvent arriver n'importe quand lorsqu'on a effectué la liaison au COM1.

    Merci a tt ceux qui pourront m'aider car j'ai peur de finir chauve, en plus je ne suis pas trés experimenté en Java...




    [Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Sa y es j'ai trouvé la solution !

    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
    package portserie;
     
    	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 test{
    	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 test (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 test ("COM1");
    	}//fin du main
     
     
    }//fin de la classe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. GetCommState pour port serie RS232
    Par zezitinho dans le forum C++
    Réponses: 2
    Dernier message: 11/10/2007, 10h41
  2. Detecter liaison broche 7 et 8 port serie RS232
    Par yaltar dans le forum Windows
    Réponses: 1
    Dernier message: 09/11/2006, 16h23
  3. r/w par port serie rs232
    Par marouane2010 dans le forum MFC
    Réponses: 5
    Dernier message: 24/08/2006, 09h40
  4. Besoin de communiquer avec un port serie RS232 ?
    Par MonsieurAk dans le forum Linux
    Réponses: 2
    Dernier message: 01/02/2006, 17h13
  5. [TP] port série rs232
    Par cyb33 dans le forum Turbo Pascal
    Réponses: 44
    Dernier message: 13/01/2003, 15h49

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