Pessoal eu peguei o exemplo da documentação do Javacomm2 e o código não funciona, percebi porque além de não comunicar com a minha impressora coloquei vários System.out.println() para ver até onde o código era executado e só foi impressoro o “Teste 4”. Alguém já passou por isso?
package impressoraserial2;
import java.io.*;
import java.util.*;
import javax.comm.*;
public class SimpleWrite {
static Enumeration portList;
static CommPortIdentifier portId;
static String messageString = "STX DADOS CR LF DADOS CR LF ETX";
static SerialPort serialPort;
static OutputStream outputStream;
public static void main(String[] args) {
portList = CommPortIdentifier.getPortIdentifiers();
System.out.println("Teste4");
while (portList.hasMoreElements()) {
System.out.println("Teste6");
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
System.out.println("Teste5");
if (portId.getName().equals("COM1")) {
try {
System.out.println("Teste3");
serialPort = (SerialPort)
portId.open("SimpleWriteApp", 2000);
} catch (PortInUseException PIUE) {
PIUE.getCause();
PIUE.printStackTrace();
}
try {
System.out.println("Teste2");
outputStream = serialPort.getOutputStream();
} catch (IOException IOE) {
IOE.getCause();
IOE.printStackTrace();
}
try {
System.out.println("Teste1");
serialPort.setSerialPortParams(4800,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
} catch (UnsupportedCommOperationException UCOE) {
UCOE.getCause();
UCOE.printStackTrace();
}
try {
System.out.println("Teste");
outputStream.write(messageString.getBytes());
} catch (IOException IOE) {
IOE.getCause();
IOE.printStackTrace();
}
}
}
}
}
}