отправить команду CRC через последовательный порт, используя Java - PullRequest
0 голосов
/ 05 августа 2011

есть ли способ отправить команду CRC через последовательный порт с одного ПК на другой, используя Java!

вот код для подключения к порту и его открытия ...

public class Write {

static Enumeration portList;
static CommPortIdentifier portId;
static String messageString = "\n";
static SerialPort serialPort;
static OutputStream outputStream;

public static void main(String[] args) {
    portList = CommPortIdentifier.getPortIdentifiers();
    while (portList.hasMoreElements()) {
        portId = (CommPortIdentifier) portList.nextElement();
        if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
            if (portId.getName().equals("COM1")) {
                try {
                    serialPort = (SerialPort) portId.open("Embedded", 8000);
                    System.out.println("openning the port...");
                } catch (PortInUseException e) {
                }
                try {
                    outputStream = serialPort.getOutputStream();
                    System.out.println("sending the command...");
                } catch (IOException e) {
                }
                try {
                    serialPort.setSerialPortParams(9600,
                            SerialPort.DATABITS_8,
                            SerialPort.STOPBITS_1,
                            SerialPort.PARITY_NONE);

                } catch (UnsupportedCommOperationException e) {
                }
                try {
                    outputStream.write(messageString.getBytes());
                    serialPort.close();
                } catch (IOException e) {
                }
            }
        }
    }
}

1 Ответ

1 голос
/ 05 августа 2011

Кажется, у вас уже есть более сложная часть кода - запись через последовательный порт.Теперь все, что вам нужно, это рассчитать CRC и поместить его в ваш outputStream.write: http://download.oracle.com/javase/1.4.2/docs/api/java/util/zip/CRC32.html

...