Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

PC e linee seriali con Java

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto Utentefairyvilje

0
voti

[1] PC e linee seriali con Java

Messaggioda Foto UtenteVinny » 2 dic 2011, 19:25

Salve, dopo aver letto l'illuminante articolo di TardoFreak, ho eseguito il programma java riportato nell'articolo, e mentre non ho avuto alcun problema in ricezione dalla seriale, in trasmissione mi sono accorto che la funzione keyPressed, che dovrebbe trasmettere il carattere digitato da tastiera attivando il metodo output.write(ch) praticamente non trasmette nulla. Quali possono essere le possibili cause? Forse bisogna implementare un Thread per disciplinare la lettura e la scrittura in seriale?
Grazie.
Avatar utente
Foto UtenteVinny
0 2
 
Messaggi: 1
Iscritto il: 1 dic 2011, 19:06

0
voti

[2] Re: PC e linee seriali con Java

Messaggioda Foto UtenteTardoFreak » 2 dic 2011, 20:54

Io non saprei darti una risposta ma Foto Utentexyz o Foto Utentec1b8 forse si.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[3] Re: PC e linee seriali con Java

Messaggioda Foto Utentec1b8 » 3 dic 2011, 17:24

Non sono sicuro di aver compreso bene la domanda, posso solo dire che per scrivere sulla seriale utilizzando le stesse librerie utilizzate da Foto UtenteTardoFreak, utilizzo qualche riga di codice in più.
In particolare faccio quanto segue:
dopo aver ottenuto un OutputStream (come fa Foto UtenteTardoFreak):
Codice: Seleziona tutto
output = serialPort.getOutputStream();

creo un PrintStream per lo stesso output appena ottenuto:
Codice: Seleziona tutto
ps = new PrintStream(output);

quindi scrivo su ps per inviare i caratteri alla seriale (e non su output come fatto nel codice a cui fai riferimento):
Codice: Seleziona tutto
ps.write(ch);


Non so dire se questo possa risolvere il tuo problema, non ho testato il codice di Foto UtenteTardoFreak, ma con le modifiche descritte a me la seriale ha sempre funzionato.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[4] Re: PC e linee seriali con Java

Messaggioda Foto UtenteTardoFreak » 3 dic 2011, 17:34

Interessante. :-k
C' è un motivo particolare per cui crei anche un PrintStream? :-M
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

1
voti

[5] Re: PC e linee seriali con Java

Messaggioda Foto Utentec1b8 » 3 dic 2011, 17:45

perché il codice che ho copiato lo utilizzava? :mrgreen:

A parte gli scherzi, fontamentalmente perché PrintStream aggiunge alcune funzionalità al OutputStream, tra queste vi è una gestione automatica delle eccezioni e la possibilità di trattare un maggior numero di tipi di dato da inviare.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[6] Re: PC e linee seriali con Java

Messaggioda Foto UtenteTardoFreak » 3 dic 2011, 17:48

Grazie mille. Me lo appunto e quando sarò costretto a scrivere un programma in Java (sigh sob :( ) utilizzerò questo sistema. :ok:
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare


Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti