
Я пытаюсь перенести видео со встроенной Linux + камеры на мой компьютер через USB-кабель. То, что я делаю, это cat file > /dev/ttyGS0
на стороне карты и cat /dev/ttyACM0 > file
на компьютере. Файл отличается после передачи. Я попытался сгенерировать один и тот же файл на обеих сторонах (числа от 1 до 10000, 1 на строку) и перенести тот, что на карте, на мой ПК. Вот что у od -x
меня получилось:
head transferedFile -n 10 | od -x
0000000 0d31 320a 0a0d 0d33 340a 0a0d 0d35 360a
0000020 0a0d 0d37 380a 0a0d 0d39 310a 0d30 000a
0000037
head originalFile -n 10 | od -x
0000000 0a31 0a32 0a33 0a34 0a35 0a36 0a37 0a38
0000020 0a39 3031 000a
0000025
Шестнадцатеричный код отличается. Похоже, что передача добавляет 0d
символы (CR, возврат каретки) в файл.
Знаете почему? Знаете как получить точный файл после передачи?
Спасибо.
решение1
cat
предназначен для копирования текстовых файлов
dd
используется для побитового копирования