Сканер штрихкодов. Почему не работает?
- Войдите на сайт для отправки комментариев
Втр, 28/04/2015 - 14:18
Здрствуйте. Я начинающий. Делаю сканер штрих-кодов, нужно получить тупо строчку (string). Сканер выдаёт байты кода,в конце байты 13, 10. Код не работает, подскажите, где косяк, два дня уже бьюсь. С железом всё в порядке, на прямую байты выводятся нормально.
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
void setup()
{
Serial.begin(9600);
Serial.println("/barcode/");
mySerial.begin(9600);
}
void loop()
{
int incb; //байт с порта
String bar; //штрихкод
boolean ok; //флаг, что код прочитан
incb = 0;
bar = "";
ok = false;
while (ok == false);
{
if (mySerial.available())
{
incb=mySerial.read();
if (incb != 10) // сканер в конце даёт байт 10, выкидываем
{
if (incb != 13) // перед последним байтом - 13, тоже выкидываем
{
bar = bar + ((char)incb);
incb = 0;
}
}
else ok = true; // выходим если 10
}
}
Serial.println(bar);
delay (1000);
}
Что за сканер? Может TTL уровни с МК нужно согласовать?
А сканер точно не как HID-устройство работает? Я других последнее время не встречал...
Нет, с железом всё ОК, да и можно удалять тему, переписал всё с нуля и заработало. Только где тут косяк так и не понял. :)
Сканер изначально HID/USB. Но я его расковырял, а там внутри ещё COM обычный на 3232. Переключение с одного режима на другой в мануале описано. В общем он двухстандартный, просто наружу только USB хвост выведен. Если кому интересно, сканер Z-5130, маленький такой модуль.
Сканер изначально HID/USB. Но я его расковырял, а там внутри ещё COM обычный на 3232. Переключение с одного режима на другой в мануале описано. В общем он двухстандартный, просто наружу только USB хвост выведен. Если кому интересно, сканер Z-5130, маленький такой модуль.
У меня такого нету...
Где покупали?
Покупало предприятие, где я работаю. К сожалению, я понятия не имею, где отдел снабжения нашел этот сканер.