|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
[JAVA] porta COM
Salve,
devo comunicare con un dispositivo via seriale. Ho scritto le classi appositamente e ci riesco corretamente. Invio la stringa e il dispositivo mi risponde correttamente. Tutto questo quando riesco fisicamente a collegare il dispositivo via seriale al Pc. Ci sono però casi in cui il dispositivo è remoto e per contattarlo utilizzo due modem. Uno installato presso il dispositivo remoto l'altro collegato alla seriale del mio pc. Utilizzando le stesse procedure riesco a connettermi al dispositivo remoto attraverso il modem del pc ed esso mi risponde con "CONNECTED " seguito dalla velocità stabilità ma quando gli inoltro il comando ascii sembra non interpretarlo correttamente. Ora mi chiedo : perché di tutto questo ? occorre inizializzare il modem ? se si in che modo ? vi allego del codice : Codice:
public static void main(String[] args) { // Serial porta_com = new Serial(args[0],Integer.valueOf(args[1])); Serial porta_com = new Serial("COM1",115200); porta_com.scrivi("ATDT xxxxxxxxxxxx"); try { Thread.sleep(20000); } catch (InterruptedException ex) { ex.printStackTrace(); } String buffer = null; buffer = new String(porta_com.leggi()); System.out.println (buffer); porta_com.write_owi("PLEIQ,MST,0,200"); try { Thread.sleep(5000); buffer = new String(porta_com.leggi()); } catch (InterruptedException ex) { ex.printStackTrace(); } try { porta_com.download("pippo.txt",1); } catch (Exception ex) { ex.printStackTrace(); } porta_com.chiudi(); } } |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
|
col modem intendi per via telefonica ?
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
se non ricordo male ai tempi per inizializzare il modem i comandi + usati erano:
ATZ ATX3&F1 prova con questi e fammi sapere ![]()
__________________
![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19148
|
attenzione perché il comando AT deve essere seguito dal carattere specificato nel registro S3, che è il cosiddetto "fine linea".
solitamente tale valore è il carriage return, ovvero il carattere ascii 13, ma può appunto essere modificato cambiando il valore di S3. forse non è il tuo problema perché il numero lo fa, quindi il comando ATDT lo prende... comunque non ho capito se devi mandare un comando AT oppure un comando che viene interpretato dal dispositivo remoto |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Jul 2002
Città: Napoli
Messaggi: 1964
|
Quote:
|
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jul 2002
Città: Milano
Messaggi: 19148
|
ah ecco
dovresti fare un dump dei dati in arrivo dall'altra parte. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:48.