Проблема с получением данных через UART со сканера QR кодов
- Войдите на сайт для отправки комментариев
Чт, 13/05/2021 - 16:54
Здравствуйте, уважаемые!
Имеется сканер с интерфейсом 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⸮⸮
Откуда они такие берутся?
Сразу скажу, что скорость чтения, контроль четности, дина, стоповый бит установлены корректно.
Для чистоты эксперимента, подключил сканер к старенькому порту и проверил чтение через ком-порт - все работает нормально, данные передаются корректно.
Может быть кабель надо укоротить (не хватает уровней у Меги?)
Может, кто сталкивался, подскажите, пожалуйста.
А что ты хотел получить выводя в монитор методом Serial.write ?
Это не для тебя команда, глазками посмотреть - Serial.print
Какбэ RS232 и UART - разные интерфейсы.
Какбэ RS232 и UART - разные интерфейсы.
Как бы это две физические реализации одного интерфейса.
На этот же глобус ещё натягивается rs-485 и всякие другие странности.
На этот же глобус ещё натягивается rs-485 и всякие другие странности.
И?
Какбэ RS232 и UART - разные интерфейсы.
Как бы это две физические реализации одного интерфейса.
На этот же глобус ещё натягивается rs-485 и всякие другие странности.
Нет
Нет
А чего собственно нет то ?
Порядок и алгоритм передачи данных тот же самый, напряжения и расстояния разные и способы соединения.
Да и любой учебник рассказывает о том, что это один интерфейс с разными физическими уровнями.
Нет.
Какбэ RS232 и UART - разные интерфейсы.
Неграмотным натягиванием на RS232 Меги накрываются на раз.
Никто и не говорил, что они полностью совместимы.
Тем не менее по части передачи данных это одно и то же.
РАЗНЫЕ ФИЗИЧЕСКИЕ УРОВНИ.
Кактус, с какой целью флейм начинаешь? ТС неизвестно как подключил свой сканер к МК. Напрямую интерфейсы друг в друга не мапятся, подобное подключение может как убить входы, так и просто привести к неправильному функционированию связки устройств.
Для чего тут начинать выяснения насчёт процента совместимости, если ещё пока ничего неизвестно в начальном уравнении?
При подключении сканера к компьютеру провод питания сканера включается в USB, соответственно уровни-то должны быть одинаковые.
При подключении сканера к компьютеру провод питания сканера включается в USB, соответственно уровни-то должны быть одинаковые.
нет
При подключении сканера к компьютеру провод питания сканера включается в USB, соответственно уровни-то должны быть одинаковые.
Уровни чего должны быть одинаковые? USB и RS232?
А если бы подключалось к розетке, все уровни должны быть 220В? Включая USB и RS232?
При подключении сканера к компьютеру провод питания сканера включается в USB, соответственно уровни-то должны быть одинаковые.
Разница не только в уровнях напряжений, но и в полярности. Поэтому интерфейс RS232 напрямую к ардуине (UART) не подключается. Только через специальные конвертеры, например MAX232.
И один хер на уровне передачи данных тот же UART
Да. И один хер все соединяется проводами.
И один хер все провода из меди.
Хотя нет, есть же ещё из алюминия... Хм. Один хер это всё провода, на уровне передачи электронов то же самое.
При подключении сканера к компьютеру провод питания сканера включается в USB, соответственно уровни-то должны быть одинаковые.
Разница не только в уровнях напряжений, но и в полярности. Поэтому интерфейс RS232 напрямую к ардуине (UART) не подключается. Только через специальные конвертеры, например MAX232.
Спасибо, вот этого я не учел, сейчас запаяю MAX232
При подключении сканера к компьютеру провод питания сканера включается в 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
При подключении сканера к компьютеру провод питания сканера включается в USB, соответственно уровни-то должны быть одинаковые.
Разница не только в уровнях напряжений, но и в полярности. Поэтому интерфейс RS232 напрямую к ардуине (UART) не подключается. Только через специальные конвертеры, например MAX232.
Спасибо, вот этого я не учел, сейчас запаяю MAX232
Все, отлично все получилось на MAX232!
Какбэ RS232 и UART - разные интерфейсы.
Че за бред ? А че они тогда по разному называются ? Не все жопы натягиваются на один и тот же глобус, ой не все.....