InputStream lee lo que se ha enviado antes.
Publicado por José (4 intervenciones) el 29/12/2006 12:51:18
Hola.
Hice un programa en Java para enviar y recibir datos por el puerto serie con javax.comm y, aunque está muy verde, funciona sólo hay un detealle y es que envío una cadena y me devuelve la cadena y la respuesta. Ejemplifco la ejecución del programa:
Cadena enviada: at <- Es un println para saber por dónde va el programa.
at <- Esto es lo que no sé pq aparece. No hay ningún println.
OK <- Respuesta del móvil.
Pongo el código que es muy sencillo ya que estoy haciendo pruebas sólo.
import javax.comm.*;
import java.util.*;
import java.io.*;
public class PuertoSerie
{
public void PuertoSerie()
{
}
public static void main(String[] args) throws NoSuchPortException, PortInUseException, IOException,UnsupportedCommOperationException
{
String cadena = "at\r";
CommPortIdentifier idPuerto = CommPortIdentifier.getPortIdentifier("COM1");
SerialPort puerto = (SerialPort)idPuerto.open("SerialPort", 3000);
puerto.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
OutputStream os = puerto.getOutputStream();
InputStream is = puerto.getInputStream();
System.out.println( "Cadena enviada: " + cadena );
os.write( cadena.getBytes() );
char c = ' ' ;
String answer = "";
boolean continuar = true;
while ( continuar )
{
c = (char)is.read();
answer = answer + c;
System.out.print( c );
}
is.close();
os.close();
}
}
Agradezco cualquier aportación para buscar la respuesta a esta intriga.
Muchas gracias.
Hice un programa en Java para enviar y recibir datos por el puerto serie con javax.comm y, aunque está muy verde, funciona sólo hay un detealle y es que envío una cadena y me devuelve la cadena y la respuesta. Ejemplifco la ejecución del programa:
Cadena enviada: at <- Es un println para saber por dónde va el programa.
at <- Esto es lo que no sé pq aparece. No hay ningún println.
OK <- Respuesta del móvil.
Pongo el código que es muy sencillo ya que estoy haciendo pruebas sólo.
import javax.comm.*;
import java.util.*;
import java.io.*;
public class PuertoSerie
{
public void PuertoSerie()
{
}
public static void main(String[] args) throws NoSuchPortException, PortInUseException, IOException,UnsupportedCommOperationException
{
String cadena = "at\r";
CommPortIdentifier idPuerto = CommPortIdentifier.getPortIdentifier("COM1");
SerialPort puerto = (SerialPort)idPuerto.open("SerialPort", 3000);
puerto.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
OutputStream os = puerto.getOutputStream();
InputStream is = puerto.getInputStream();
System.out.println( "Cadena enviada: " + cadena );
os.write( cadena.getBytes() );
char c = ' ' ;
String answer = "";
boolean continuar = true;
while ( continuar )
{
c = (char)is.read();
answer = answer + c;
System.out.print( c );
}
is.close();
os.close();
}
}
Agradezco cualquier aportación para buscar la respuesta a esta intriga.
Muchas gracias.
Valora esta pregunta


0