Передаю данные в порт командой sudo cat data > /dev/ttyUSB0
Принимаю cat /dev/ttyUSB0 > temp
Данный приходят совсем не те, во-первых, множество лишних переводов строки, которых нет в data, во-вторых данные дублируются(иногда), дубли перекрываются. Ладно если передавать текстовую информацию, но если бинарные данные? Например связать компьютер с uart микроконтроллера?
Вообшем стал использовать pyserial. Появилась еще одна проблема, посылаю 3 байта с контроллера, принимаю на компе (ser.read(10)), первые байты приходят нормально, но потом идут непонятные данные, и как вообще он считывает 10 байт, если отослано только 3?
> как вообще он считывает 10 байт, если отослано только 3
шумная линия связи? Для приёма байта достаточно поймать правильные стартовый и стоповый биты.
Кроме упомянутых @pi314 настроек порта (которые тут, скорее всего, ни при чём: при неправильном бод-рейте ничего осмысленного, обычно, получить не удаётся) есть ещё 100500 параметров терминала доступных для изменения через stty. Среди них есть, например, локальное эхо или вставка дополнительных CR перед LF. При обмене бинарными данными терминал стоит перевести в raw-режим (stty -F <device> raw).