JSerialComm Иногда происходит сбой последовательной связи JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 JSerialComm Иногда происходит сбой последовательной связи Java

Сообщение Anonymous »

Я пишу службу загрузки Spring Spring, которая продает товары из торгового автомата, используя последовательную связь через библиотеку jSerialComm. Служба иногда работает должным образом и успешно продает все товары, но иногда она не может продать товары. Служба настолько непредсказуема, что может выйти из строя на любом этапе процесса продажи.
Ниже приведен код службы, который Я написал:

Код: Выделить всё

package com.intelparcel.java.be.services;

import com.fazecast.jSerialComm.SerialPort;
import com.intelparcel.java.be.models.vend.FailedItemsModel;
import com.intelparcel.java.be.models.vend.VendRequestItemModel;
import org.springframework.stereotype.Service;

import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;

@Service
public class VendService {
private List failedItems = new ArrayList();

public List vendProducts(List data) {
failedItems.clear();
SerialPort serialPort = SerialPort.getCommPort("/dev/ttyUSB0");
serialPort.setComPortParameters(9600, 8, 1, SerialPort.NO_PARITY);

for (VendRequestItemModel item : data) {
for (int quantity = 0; quantity < item.getQuantity(); quantity++) {
openPort(serialPort);

String TXBUF = "01C1" + Integer.toHexString(item.getSlot_number());
System.out.println(TXBUF);
byte CHK = 0;
String[] HexValues = new String[TXBUF.length() / 2];
byte[] ByteValues = new byte[TXBUF.length() / 2];

for (int i = 0; i < (TXBUF.length() / 2); i++) {
HexValues[i] = TXBUF.substring((2 * i), (2 * i) + 2);
ByteValues[i] = (byte) Integer.parseInt(HexValues[i], 16);
if (i > 1) {
CHK += ByteValues[i];
}
}

CHK = (byte) (0 - CHK);
TXBUF += String.format("%02X", CHK) + ">";
TXBUF = "

Подробнее здесь: [url]https://stackoverflow.com/questions/75729434/jserialcomm-java-serial-communication-fails-sometimes[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»