Проблема с получением данных через UART со сканера QR кодов

toli33
Offline
Зарегистрирован: 11.03.2015

Здравствуйте, уважаемые!

Имеется сканер с интерфейсом RS232.

Подключаю его к Mega 2560 через аппаратный Serial2

Код самый простейший:

#define BARCODE_SERIAL    Serial2
 
void setup()
{
  Serial.begin(9600);
  while (!Serial) {
  }
  Serial.println("Serial init OK");
  BARCODE_SERIAL.begin(9600);
  Serial.println("Barcode init is OK");
  Serial.println("GPS init is OK on speed 9600");
}
 
void loop()
{
  // если приходят данные из Barcode-модуля - отправим их в порт компьютера
  if (BARCODE_SERIAL.available()) {
    Serial.write(BARCODE_SERIAL.read());
  }
}

Данные какие-то приходят и по длине даже похожи на те, что зашиты в коде, только нечитаемые, вот, например: ⸮⸮v6⸮⸮⸮⸮⸮V⸮⸮vV⸮⸮⸮V⸮U}]=ō⸮7qS⸮⸮

Откуда они такие берутся?

Сразу скажу, что скорость чтения, контроль четности, дина, стоповый бит установлены корректно.

Для чистоты эксперимента, подключил сканер к старенькому порту и проверил чтение через ком-порт - все работает нормально, данные передаются корректно.

Может быть кабель надо укоротить (не хватает уровней у Меги?)

Может, кто сталкивался, подскажите, пожалуйста.

Kakmyc
Offline
Зарегистрирован: 15.01.2018

А что ты хотел получить выводя в монитор методом Serial.write ?
Это не для тебя команда, глазками посмотреть - Serial.print

sadman41
Offline
Зарегистрирован: 19.10.2016

Какбэ RS232 и UART - разные интерфейсы.

Kakmyc
Offline
Зарегистрирован: 15.01.2018

sadman41 пишет:

Какбэ RS232 и UART - разные интерфейсы.

Как бы это две физические реализации одного интерфейса.

На этот же глобус ещё натягивается rs-485 и всякие другие странности.

sadman41
Offline
Зарегистрирован: 19.10.2016

Kakmyc пишет:

На этот же глобус ещё натягивается rs-485 и всякие другие странности.

И?

rkit
Offline
Зарегистрирован: 23.11.2016

Kakmyc пишет:
sadman41 пишет:

Какбэ RS232 и UART - разные интерфейсы.

Как бы это две физические реализации одного интерфейса.

На этот же глобус ещё натягивается rs-485 и всякие другие странности.


Нет

Kakmyc
Offline
Зарегистрирован: 15.01.2018

rkit пишет:

Нет

А чего собственно нет то ?
Порядок и алгоритм передачи данных тот же самый, напряжения и расстояния разные и способы соединения.
Да и любой учебник рассказывает о том, что это один интерфейс с разными физическими уровнями.

rkit
Offline
Зарегистрирован: 23.11.2016

Kakmyc пишет:
rkit пишет:
Нет
А чего собственно нет то ? Порядок и алгоритм передачи данных тот же самый, напряжения и расстояния разные и способы соединения. Да и любой учебник рассказывает о том, что это один интерфейс с разными физическими уровнями.

Нет.

Green
Offline
Зарегистрирован: 01.10.2015

Kakmyc пишет:
sadman41 пишет:

Какбэ RS232 и UART - разные интерфейсы.

Как бы это две физические реализации одного интерфейса. На этот же глобус ещё натягивается rs-485 и всякие другие странности.

Неграмотным натягиванием на RS232 Меги накрываются на раз.

Kakmyc
Offline
Зарегистрирован: 15.01.2018

 

Никто и не говорил, что они полностью совместимы.

Тем не менее по части передачи данных это одно и то же.

РАЗНЫЕ ФИЗИЧЕСКИЕ УРОВНИ.

sadman41
Offline
Зарегистрирован: 19.10.2016

Кактус, с какой целью флейм начинаешь? ТС неизвестно как подключил свой сканер к МК. Напрямую интерфейсы друг в друга не мапятся, подобное подключение может как убить входы, так и просто привести к неправильному функционированию связки устройств.

Для чего тут начинать выяснения насчёт процента совместимости, если ещё пока ничего неизвестно в начальном уравнении?

toli33
Offline
Зарегистрирован: 11.03.2015

Kakmyc пишет:
rkit пишет:
Нет
А чего собственно нет то ? Порядок и алгоритм передачи данных тот же самый, напряжения и расстояния разные и способы соединения. Да и любой учебник рассказывает о том, что это один интерфейс с разными физическими уровнями.

При подключении сканера к компьютеру провод питания сканера включается в USB, соответственно уровни-то должны быть одинаковые.

rkit
Offline
Зарегистрирован: 23.11.2016

toli33 пишет:

При подключении сканера к компьютеру провод питания сканера включается в USB, соответственно уровни-то должны быть одинаковые.

нет

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

toli33 пишет:

При подключении сканера к компьютеру провод питания сканера включается в USB, соответственно уровни-то должны быть одинаковые.

Уровни чего должны быть одинаковые? USB и RS232?

А если бы подключалось к розетке, все уровни должны быть 220В? Включая USB и RS232?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

toli33 пишет:

При подключении сканера к компьютеру провод питания сканера включается в USB, соответственно уровни-то должны быть одинаковые.

Разница не только в уровнях напряжений, но и в полярности. Поэтому интерфейс RS232 напрямую к ардуине (UART) не подключается. Только через специальные конвертеры, например MAX232.

Kakmyc
Offline
Зарегистрирован: 15.01.2018

И один хер на уровне передачи данных тот же UART

sadman41
Offline
Зарегистрирован: 19.10.2016

Да. И один хер все соединяется проводами.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

И один хер все провода из меди.

Хотя нет, есть же ещё из алюминия... Хм. Один хер это всё провода, на уровне передачи электронов то же самое.

toli33
Offline
Зарегистрирован: 11.03.2015

Jeka_M пишет:

toli33 пишет:

При подключении сканера к компьютеру провод питания сканера включается в USB, соответственно уровни-то должны быть одинаковые.

Разница не только в уровнях напряжений, но и в полярности. Поэтому интерфейс RS232 напрямую к ардуине (UART) не подключается. Только через специальные конвертеры, например MAX232.

Спасибо, вот этого я не учел, сейчас запаяю MAX232

Logik
Offline
Зарегистрирован: 05.08.2014

andriano пишет:

toli33 пишет:

При подключении сканера к компьютеру провод питания сканера включается в USB, соответственно уровни-то должны быть одинаковые.

Уровни чего должны быть одинаковые? USB и RS232?

А если бы подключалось к розетке, все уровни должны быть 220В? Включая USB и RS232?

Не не должны. Уже много лет как скорей 230В

Таблица 1 - Системы и электрооборудование переменного тока с номинальным напряжением от 100 до 1000 В включительно

 

     

Номинальное напряжение трехфазных четырехпроводных или трехпроводных систем, В

Номинальное напряжение однофазных трехпроводных систем, В

50 Гц

60 Гц

60 Гц

-



230



230/400



-

120/208



240



230/400



277/480

120/240



-



-



-

-



-



-



400/690



1000

480



347/600



600



-



-

-



-



-



-



-

 Значение 230/400 В является результатом эволюции систем 220/380 В и 240/415 В, которые завершили использовать в Европе и во многих других странах. Однако системы 220/380 В и 240/415 В до сих пор продолжают применять.

 Значение 400/690 В является результатом эволюции системы 380/660 В, которую завершили использовать в Европе и во многих других странах. Однако систему 380/660 В до сих пор продолжают применять.

 Значение 200 или 220 В также используют в некоторых странах.

 Значения 100/200 В также используют в некоторых странах в системах с частотой 50 или 60 Гц.

      

 http://docs.cntd.ru/document/1200115397   

toli33
Offline
Зарегистрирован: 11.03.2015

toli33 пишет:

Jeka_M пишет:

toli33 пишет:

При подключении сканера к компьютеру провод питания сканера включается в USB, соответственно уровни-то должны быть одинаковые.

Разница не только в уровнях напряжений, но и в полярности. Поэтому интерфейс RS232 напрямую к ардуине (UART) не подключается. Только через специальные конвертеры, например MAX232.

Спасибо, вот этого я не учел, сейчас запаяю MAX232

Все, отлично все получилось на MAX232!

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Kakmyc пишет:
sadman41 пишет:

Какбэ RS232 и UART - разные интерфейсы.

Как бы это две физические реализации одного интерфейса. На этот же глобус ещё натягивается rs-485 и всякие другие странности.

Че за бред ? А че они тогда по разному называются ? Не все жопы натягиваются на один и тот же глобус, ой не все.....