0

文字列 Serial_Input には、この A45F45A7 (8 バイト) のようなシリアル番号カード RFID (MIFARE) が含まれている必要があります。カードをarduinoのRFIDリーダーに近づけると、文字列がこの A45F45 (切り捨てられた) のようになり、文字が欠落することがあります。while ループよりも優れた解決策はありますか? (よりエレガントで効率的) Arduino IDE シリアル モニターを使用すると、カードのシリアル番号は正しいです。

public static void connectionToCom(SerialPort serialPort, ComboBox<String> cbxComPort, TextArea txaMessages) throws SerialPortException
{       
    int baudrate = 9600; int databits = 8; int stopbits = 1; int parity = 0;

    serialPort.openPort() ;
    serialPort.setParams(baudrate, databits, stopbits, parity) ;

    String Serial_Input = null;

    try {
        while (true)
        {
            if (serialPort.readString() != null)
            {
                Serial_Input = serialPort.readString(8);

                System.out.println("Card Serial: " + Serial_Input + "\n");
                //serialPort.closePort();
            }
        }
    } 
    catch (SerialPortException ex){
        txaMessages.appendText(ex.toString());
    }
}

結果画像はこちら

4

1 に答える 1