3

Поэтому мне нужна программа, которую я могу запустить на встроенном Linux (OpenWRT 8.09), через командную строку, я должен быть в состоянии передавать 8N1, мне нужно передавать в HEX (не ascii,) и предпочтительно также в десятичном виде.

Насколько я могу судить, микроком и пикоком не передают гекс.

Редактировать пояснение: я хочу ввести данные в программу в шестнадцатеричном формате, и пусть она отправляет двоичное (8N1) представление каждой шестизначной шестнадцатеричной пары.

3 ответа3

1

Попробуйте использовать CuteCom: http://cutecom.sourceforge.net/

Это мертвый проект, но он отлично работает и может показывать шестнадцатеричное представление символов.

Но он графический, поэтому вы не можете использовать его во встроенном Linux (если у вас там нет поддержки X и QT4).

1

Если программа не позволяет передавать в шестнадцатеричном формате, есть обходные пути. Вы можете передать информацию через od чтобы преобразовать ее в гекс перед отправкой в microcom или picocom.

например, преобразовать "некоторый текст" в шестнадцатеричный код:

echo "some text" | od -tx1 | cut -c 8- | tr -d " "
0

Я думаю, что ssterm должен работать для вас. Он написан на Python (что, вероятно, плохо), но основан на консоли и поддерживает шестнадцатеричный ввод и вывод.

Вы можете запустить его так:

ssterm /dev/ttyAMA0 -b 9600 -i hex -o split

Затем он должен прочитать шестнадцатеричные символы из стандартного ввода, преобразовать каждые 2 символа в байт и отправить этот байт в последовательный.

Также он будет считывать данные с устройства и показывать их в виде hexdump : шестнадцатеричное представление слева и ascii представление справа.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .