begin process at 2010 03 14 02:17:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Débutant(e)

 > 

Test ecriture / Lecture en Java : Port Serie RS232


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Test ecriture / Lecture en Java : Port Serie RS232

mardi 19 février 2008 à 11:13:56 | Test ecriture / Lecture en Java : Port Serie RS232

lionkid007

Bonjour,

Je dois faire un programme permettant de communiquer sur le port serie RS232 en Java.
Je dois donc pouvoir lire et ecrire. J'ai bien regardé les différents fichiers dispo, mais j'arrive pas à faire ce que je veux.
J'ai relié la patte TX à RX de mon port série et je veux pouvoir avec mon programme java, afficher ce que j'ai envoyé via mon programme en java.
Je suis débutant en java et j'ai du mal...
Si vous pouviez m'aider, merci!!!!

Voilà le code que j'ai déjà utilisé :
[code]
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 TesteJavaComm
{
CommPortIdentifier portId;
BufferedReader in;
PrintWriter out;
SerialPort serialPort;

/*
Constructeur de la classe TesteJavaComm qui prend en paramètre le port série à utiliser.
Dans un premier temps on liste les ports disponibles sur le pc
*/
public TesteJavaComm (String com)
{
System.out.println("listage 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(9600,SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);
System.out.println("Ouverture du port "+com);

//pour lire et écrire avec des streams:
in=new BufferedReader(
new InputStreamReader(serialPort.getInputStream()));
out=new PrintWriter(serialPort.getOutputStream());


//Teste de lecture/ecriture sur le port série

String originalText="une chaine de caractere";
outputArray = originalText.getBytes( );
out.write ( outputArray, 0 , length );
int b = in.read()
in.close();
out.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());
} // while
} //fin de la methode listePortsDispo()

/*
Methode main qui permet de tester notre classe de teste en ouvrant une connexion sur le port COM1.
*/
public static void main(String args[])
{
new TesteJavaComm ("COM1");
}//fin du main


}//fin de la classe

[/code]

PS : Quand j'ai essayé ce bout de code, j'ai des erreurs comme quoi : OutputArray et length ne sont pas définis?? Il faut faire un String OutputArray et un int length?

merci encore, A++
mardi 19 février 2008 à 13:07:11 | Re : Test ecriture / Lecture en Java : Port Serie RS232

Twinuts

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

normale qu'il te peste dessus tu ne def pas les champs  outputArray et length...

au plus simple tu fais :
byte [] outputArray = originalText.getBytes( );
out.write ( outputArray, 0 , outputArray.length );



------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
jeudi 21 février 2008 à 19:48:38 | Re : Test ecriture / Lecture en Java : Port Serie RS232

lionkid007

Réponse acceptée !
Merci!! :)
jeudi 13 mars 2008 à 16:37:29 | Re : Test ecriture / Lecture en Java : Port Serie RS232

lionkid

Salut!

Après relecture de ton post, le out.write(outputArray,0,outputArray.length); ne fonctionne pas. Que ce soit length() ou bien length d'ailleurs...
La méthode write s'appliquant au type PrintWriter ne supporte que les :

tableau de char,
int,
string.

Pour les byte, je sais pas...
jeudi 13 mars 2008 à 17:43:35 | Re : Test ecriture / Lecture en Java : Port Serie RS232

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

bah ne l'utilise pas et prends autre chose.... (je n'avais pas fait gaffe au PrintWriter)
remplace le PrintWriter par un simple OutputStream

genre

OutputStream out = serialPort.getOutputStream();
byte [] b = originalText.getBytes( );
out.write ( b, 0 , b.length );


------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
dimanche 13 juillet 2008 à 10:46:14 | Re : Test ecriture / Lecture en Java : Port Serie RS232

saadia2

Salut ;

Je suis une débutante en java ,j'ai crée des port serie virtuel sur mon ordinateur et exécute un code semblable pour lister les port série existant .mais le code ne les a pas détecte .est ce que le problème est que les port son virtuel et non physique ?

 

dimanche 13 juillet 2008 à 22:27:35 | Re : Test ecriture / Lecture en Java : Port Serie RS232

lionkid

3asslama saadia2.

Pour tes ports série. Si tu en as (au moins 1), le programme Java, devrait normalement te le détecter et te l'afficher si biensûr la javaxcomm est bien installée (cela a son importance!).

Pourrais-tu nous en dire un peu plus? S'ils sont virtuels et non physique dans le sens qu'ils n'éxistent pas, alors il est tout à fait normal que le programme Java ne les détecte pas. Pour tester ce code, tu as besoin d'au moins un port.
Quelques infos de plus (erreurs etc...) ne seraient pas de refus si tu souhaites un peu plus d'aide.

Bon courage,

lionkid.
lundi 14 juillet 2008 à 09:25:35 | Re : Test ecriture / Lecture en Java : Port Serie RS232

saadia2

Merci j'ai finis par trouver la solution,le probleme etait lié à l'emplacement du driver win32com.dll meme avec des ports virtueles le programme arrive à les detecter
lundi 14 juillet 2008 à 10:23:00 | Re : Test ecriture / Lecture en Java : Port Serie RS232

lionkid

Min ghir msiya Sa3dia2!

Si le programme détecte même les ports virtuels, alors c'est tant mieux! :-)
Bonne prog'!
mercredi 31 décembre 2008 à 11:17:04 | Re : Test ecriture / Lecture en Java : Port Serie RS232

bricolomi

Bonjour, étant débutant moi aussi je viens de trouver ce post
en ce qui concerne le port série j'arrive maintenant à le faire communiquer dans l'environement netbeans.
MAIS quand je veux le faire fonctionner
depuis la commande execuert de windows
en tatant pour mon projet la commande
javaw -jar "D:\NetBeansProjects\Meteo1\dist\Meteo1.jar"
je projet bloque
dans mon programme
***
ici J'ai un jLabel1 qui me dit que je suis bien arrivé à cet endroit du programme
ici la commande
Enumeration portList=CommPortIdentifier.getPortIdentifiers();
ici j'ai un jLabe2 qui n'indique rien
****
ALORS tout fonctionne dans l'environement Netbeans
ma question est-ce qu'il faut paramétrer quelque chose dans netbeans ou ailleurs
Merci pour vos réponses

dede

1 2

Cette discussion est classée dans : java, port, out, série, serialport


Répondre à ce message

Sujets en rapport avec ce message

Application port série RS 232 en JAVA [ par Gwillherm ] Bonjour,j'aimerai savoir si il est possible de coder une application en JAVA qui tourne à la fois sous Windows et à la fois sous Linux et qui utilise Programmation avec l'api javacomm [ par Gwillherm ] Bonjour, je suis en ce moment en train de tester l'API javacomm en vu de l'utiliser dans un futur projet perso.Dans mon code de test je suis tombé sur communication avec automate [ par bilel60 ] BonjourJe suis debutant en java, et j'ai un gros probleme, je dois communique avec un automate via un port com, mais qd je lui envnoi une commande cel [debutant en JAVA] applet java pour utiliser le port série [ par toma2194 ] Bonsoir,Je cherche à utiliser le port série (envoi et réception) de mon PC depuis une page WEB (en php). En PHP, c'est pas possible du fait qu'il s'ex JAVA et port série [ par Oneagaindoguys ] Bonjour, je suis en train de faire communiquer en java mon port série et mon programme. J'ai lu le tuto (très bien fait) sur http://christophej.develo comparaison de 2 fichiers texte (pb boucle while je pense) [ par tomski ] Bonjour,Jessaye de comparer 2 fichiers texte ligne par ligne.Chaque ligne est decoupee (split(";")) et chaque mot est stocké dans un array.Ensuite je Lecture de bytes sur le port série rs232 [ par bricolomi ] Bonjour,Je possède un convertisseur numérique analogique que je souhaite faire fonctionner en java , j'ai trouvé quelques exemples d'application de ge Remplir Combobox sous netbeans [ par Bouboukick ] Bonjour j'ai un code qui se connecte a mon port com et me fournit aussi tout les port disponible sur mon pc.Le souci est que j'aimerais pouvoir mettre Erreur HTTP 500 pour une requtte HTTP avec servlet. [ par Spiycy ] slt, j'ai un probleme l'hors de connexion(authentification) dans un environnement client/serveur via les servlet. pour un outils de développement Ecli


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales