void loop() {
// Проверка состояния кассы
checkStatus();
// Пример совершения продажи
makeSale("123456789012", 1000); // Артикул и сумма
delay(10000); // Задержка между операциями
}
void openShift() {
byte command[] = {0x01, 0x00, 0x00, 0x00}; // Пример команды для открытия смены
mySerial.write(command, sizeof(command));
delay(100);
if (mySerial.available()) {
byte response[10];
mySerial.readBytes(response, sizeof(response));
// Обработка ответа
Serial.println("Смена открыта");
} else {
Serial.println("Ошибка открытия смены");
}
}
void checkStatus() {
byte command[] = {0x02, 0x00, 0x00, 0x00}; // Пример команды для проверки состояния
mySerial.write(command, sizeof(command));
delay(100);
void makeSale(String article, int amount) {
byte command[10]; // Пример командного массива для продажи
// TODO: Заполнить массив командой на основе спецификации
mySerial.write(command, sizeof(command));
delay(100);
#include
HardwareSerial mySerial(1); // Используем второй последовательный порт
void setup() {
Serial.begin(115200);
mySerial.begin(9600, SERIAL_8N1, 16, 17);
// Открытие смены
openShift();
}
void loop() {
// Проверка состояния кассы
checkStatus();
// Пример совершения продажи
makeSale("123456789012", 1000); // Артикул и сумма
delay(10000); // Задержка между операциями
}
void openShift() {
byte command[] = {0x01, 0x00, 0x00, 0x00}; // Пример команды для открытия смены
mySerial.write(command, sizeof(command));
delay(100);
if (mySerial.available()) {
byte response[10];
mySerial.readBytes(response, sizeof(response));
// Обработка ответа
Serial.println("Смена открыта");
} else {
Serial.println("Ошибка открытия смены");
}
}
void checkStatus() {
byte command[] = {0x02, 0x00, 0x00, 0x00}; // Пример команды для проверки состояния
mySerial.write(command, sizeof(command));
delay(100);
if (mySerial.available()) {
byte response[10];
mySerial.readBytes(response, sizeof(response));
// Обработка ответа
Serial.println("Статус проверен");
} else {
Serial.println("Ошибка проверки состояния");
}
}
void makeSale(String article, int amount) {
byte command[10]; // Пример командного массива для продажи
// TODO: Заполнить массив командой на основе спецификации
mySerial.write(command, sizeof(command));
delay(100);
if (mySerial.available()) {
byte response[10];
mySerial.readBytes(response, sizeof(response));
// Обработка ответа
Serial.println("Продажа завершена");
} else {
Serial.println("Ошибка продажи");
}
}