文字列 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());
}
}