Доброго времени суток. Такой вопрос, делаю запрос пакетов на ККТ через Arduin IDE таким методом
Передано
Принято
Читал протокол, там немного не понял как выявляться ошибку и нашел мануал для программиста и можно отправлять GetShortECRStatus() Но как это делать на Arduin IDE не нашёл информации. Кто-нибудь может работал с этим.
ККТ, это контрольно-кассовая техника что ли? Какой интерфейс вы используете до своего устройства, ответ будет зависеть от этого. Или может быть вы хотите связаться с ПО ККТ? В любом случае, лучше расскажите больше, чего вы хотите сделать и с чем
Вы рассказываете немного суетно и не даете полезной информации для ответа. Что за кассовый аппарат? Что за интерфейс к кассе? Чековый аппарат отдельный? Это чековый принтер получается? В вашем коде есть необъявленные переменные, это либо кусок кода, или код не скомпилируется. Попробуйте задать вопрос медленно, с подробностями, даже теми, что вам кажутся очевидными, а этот вопрос вряд ли получит ответ
Program2000, Здравствуйте! кодом не могу, он компании, но чем могу подскажу. Возможно тишина из-за неправильного подключение физически или же запрос команды не содержит нужную команду
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);
Program2000, Правильно ли выбран порт? Может быть не сразу проверять данные как отправить, а крутиться в общем цикле где будет смотреть всё ли приходит с сериала. А такая команда точно есть? Можно проверить самой просто это статус смены. 0x02, 0x05, 0x10, 0x1E, 0x00, 0x00, 0x00, 0x0B