Люди добрые! Бьюсь третий день. Есть сканер qr и штрих кодов ZCteco с интерфейсом Wiegand и rs485. Пробовал подключать к дуне и есп через конвертер ttl-rs485 на max485, в com порту тишина, при чем если подключить вторую дуню с таким же конвертером, то связь налаживается . Поэтому пробую Wiegand Код (C++): #include <Wiegand.h> WIEGAND wg; void setup() { Serial.begin(9600); // По умолчанию, считыватель подключается к пинам 2 и 3 (см. подробнее https://wiki.iarduino.ru/page/stationary-rfid-reader/) // Однако для некоторых плат может потребоваться поменять номера выводов. Для этого используйте wg.begin(pinD0, pinD1), где // где pinD0 - номер пина, к которому подключен провод считывателя D0, а pinD1 - провод D1. wg.begin(2,4); } void loop() { if(wg.available()) { Serial.print(", ID = "); Serial.print(wg.getCode()); Serial.print(", Type Wiegand: W"); Serial.println(wg.getWiegandType()); } } В баркоде зашит номер 871254922554 но по Wiegand 26 приходит значение 14095674, а по Wiegand 34 3671528762 Я так понимаю, что конвертит библиотека не правильно. Сам сканер в буфер по usb в компе шлет верное значение. Кто подскажет, куда копать, очень надо
Сам спросил, сам разобрался, 10 цифр уже превышают допустимое количество битов в виганд 34) Чтобы не открывать тему, спрошу, как переварить в номере QR кириллическую букву?
Чиста по приколу отвечу - В НОМЕРЕ не может быть букв. А если серьезно - что вы читаете из QR - строку? Строка в любом случае состоит из байт. Как интерпретировать байт - как число, как латинский символ или как кириллицу - это дело вашей программы Посмотрел библиотеку Wiegand.h и я в недоумении - где вы там вообще буквы обнаружили? Покажите свой код