Size: a a a

2020 September 26

A

Andrey Sea in 💻 Coding Ru
Yakov Radko
Если бы я что-то еще перепутал, то вероятно у меня бы чтение(многократное) с другого устройства(порта) так же не вернуло бы правильные данные?
Нет конечно, могут и данные биться
источник

AM

Artur Mustafin in 💻 Coding Ru
Yakov Radko
проблема именно в конфигурации правильной порта, пробовал разные варианты, самое смешное что тот же самый код в той же версии убунты установленной в WSL работает без ошибок.
у тебя какая частота BAUD RATE для ком выставлена в винде и какая в линуксе, сравни устрани разницу, похоже просто несовпадение по скорости, может твой сканер не умеет быстро, например на макс скрорсти, убавь до 9600 страндартных
источник

YR

Yakov Radko in 💻 Coding Ru
Artur Mustafin
у тебя какая частота BAUD RATE для ком выставлена в винде и какая в линуксе, сравни устрани разницу, похоже просто несовпадение по скорости, может твой сканер не умеет быстро, например на макс скрорсти, убавь до 9600 страндартных
считыватель работает на скорости 19200/8/N/1
источник

YR

Yakov Radko in 💻 Coding Ru
Artur Mustafin
у тебя какая частота BAUD RATE для ком выставлена в винде и какая в линуксе, сравни устрани разницу, похоже просто несовпадение по скорости, может твой сканер не умеет быстро, например на макс скрорсти, убавь до 9600 страндартных
чтобы получить из него данные сначала нужно ему отправить команду.
источник

AM

Artur Mustafin in 💻 Coding Ru
Yakov Radko
считыватель работает на скорости 19200/8/N/1
странно, я всегда на 9600 выставлял, а контроль четности включается норм, а то может нет
источник

YR

Yakov Radko in 💻 Coding Ru
Artur Mustafin
у тебя какая частота BAUD RATE для ком выставлена в винде и какая в линуксе, сравни устрани разницу, похоже просто несовпадение по скорости, может твой сканер не умеет быстро, например на макс скрорсти, убавь до 9600 страндартных
после получения команды он проверяет контрольную сумму и присылает один байт - подтверждение, после его получения приложение должно послать еще один байт чтобы началось выполнение команды. после небольшой задержки(в зависимости от типа команды) приложение должно прочитать данные из порта с ответом.
источник

YR

Yakov Radko in 💻 Coding Ru
Artur Mustafin
странно, я всегда на 9600 выставлял, а контроль четности включается норм, а то может нет
Как ты думаешь если бы я не выставил правильно скорость на порту, совпал бы тогда CRC с моей командой на стороне считывателя или бы он мне ответил отказом?
источник

AM

Artur Mustafin in 💻 Coding Ru
Yakov Radko
после получения команды он проверяет контрольную сумму и присылает один байт - подтверждение, после его получения приложение должно послать еще один байт чтобы началось выполнение команды. после небольшой задержки(в зависимости от типа команды) приложение должно прочитать данные из порта с ответом.
а ошибка в первом байте ответа или во втором
источник

YR

Yakov Radko in 💻 Coding Ru
иногда ack приходит уже поврежденным, иногда 1-2 байта в сообщении не совпадают с эталоном который я ожидаю. без системы.
источник

AM

Artur Mustafin in 💻 Coding Ru
Yakov Radko
Как ты думаешь если бы я не выставил правильно скорость на порту, совпал бы тогда CRC с моей командой на стороне считывателя или бы он мне ответил отказом?
ну значит у тебя последняя модель какая-то. потому что не все умеют на 19200 это нестандартная частота для порта. в BIOS должен быть прописан 9600
источник

YR

Yakov Radko in 💻 Coding Ru
Artur Mustafin
ну значит у тебя последняя модель какая-то. потому что не все умеют на 19200 это нестандартная частота для порта. в BIOS должен быть прописан 9600
19200 это стандартная, это удвоение 9600.
источник

AM

Artur Mustafin in 💻 Coding Ru
Yakov Radko
19200 это стандартная, это удвоение 9600.
ну черт с тобой. когда я в ДОС программировал, стандартной была 9600. заманался с сдетьми спорить
источник

AM

Artur Mustafin in 💻 Coding Ru
верь во что хочешь
источник

YR

Yakov Radko in 💻 Coding Ru
Artur Mustafin
ну черт с тобой. когда я в ДОС программировал, стандартной была 9600. заманался с сдетьми спорить
хм с чего ты взял, что я ребенок? мне как бы 36. если ты не кодил со времен доса, ну как бы о чем спорить?
источник

A

Andrey Sea in 💻 Coding Ru
тыктык... я опять вернулся
источник

A

Andrey Sea in 💻 Coding Ru
Artur Mustafin
ну черт с тобой. когда я в ДОС программировал, стандартной была 9600. заманался с сдетьми спорить
харе ругаться )) там и 2400 было вполне )
источник

A

Andrey Sea in 💻 Coding Ru
Yakov Radko
иногда ack приходит уже поврежденным, иногда 1-2 байта в сообщении не совпадают с эталоном который я ожидаю. без системы.
а так через другой софт с тем же железом удаётся что-то получить?
источник

A

Andrey Sea in 💻 Coding Ru
через вообще любой ))) у меня такие глюки были, когда помехи на контактах и проводах, билось...
источник

A

Andrey Sea in 💻 Coding Ru
ну и попробовать разные параметры флоу контроля там и т.п.... в общем подобрать любую конфигурацию на любой ос или девайсе чтобы работало с этим устройством. потом такие же параметры установить
источник

YR

Yakov Radko in 💻 Coding Ru
На другой ос - винда считыватель работает исправно. в том числе когда я запускаю свое тестовое коснольное приложение на этом пк внутри подсистемы линукс для виндовс (WSL) с одной и той же версией убунты.
источник