Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Javacomm port Serie Ecriture et Lecture

2 réponses
Avatar
pcouas
Bonsoir,

J'essaye de converser avec un automate, j'ai donc essayer les
programmes SimpleRead et SimpleWrite, en les mixant afin de g=E9rer les
2 cas, mais cela ne fonctionne pas.
Quelqu'un aurait il un exmple simple qui envoi une chaine d'ordre et en
attend la r=E9ponse

Merci d'avance
Philippe

2 réponses

Avatar
JScoobyCed
pcouas wrote:
Bonsoir,

J'essaye de converser avec un automate, j'ai donc essayer les
programmes SimpleRead et SimpleWrite, en les mixant afin de gérer les
2 cas, mais cela ne fonctionne pas.
Quelqu'un aurait il un exmple simple qui envoi une chaine d'ordre et en
attend la réponse



Si les examples SimpleWrite et SimpleRead ne fonctionnent pas, il faut
d'abord verifier que JavaComm est bien installe.
- Y a t il des Exceptions ?
- Une communication bouclee fonctionne t'elle? (Bricoler une prise
RS-232 avec un trombone reliant les trous: 2 avec 3; 7 avec 8; 1 avec 4
et 6. 5 et 9 non connectes) Avec ce test, les bytes ecrit sur le port
peuvent etre lus directement du port. Pas besoin d'une deuxieme machine.
- le language supporte par l'automate est il le meme que ce qui est
envoye par le programme?

C'est tout ce que je peux dire avec les infos que vous fournissez.

--
JSC

Avatar
pcouas
Bonjour j'ai résolu le problème avec un

f = new File("/dev/ttyp3");
fos = new FileOutputStream(f);
String xx=new String("@00RJ0018000352*"); // Demande de l'Heure
fos.write(toBytes(xx.toCharArray()));
fos.write((char)0x0d);

fis = new FileInputStream(f);

if(fis.getFD().valid())
{
long startTime = Calendar.getInstance().getTime().getTime();
String temp=new String("");
while(true)
{
long now = Calendar.getInstance().getTime().getTime(); //
Heure de la Nouvelle boucle
if(startTime < now && now - startTime > (long)(delai))
break;
int inByte = fis.read();
if (inByte == -1)
break;

temp=temp.concat(String.valueOf((char) inByte));
} // fin while