Линейная программа Linux, последовательная передача (COM-порт), Hex
8239
Lyndon White
Поэтому мне нужна программа, которую я могу запустить на встроенном Linux (OpenWRT 8.09), через командную строку, я должен быть в состоянии передавать 8N1, мне нужно передавать в HEX (не ascii,) и предпочтительно также в десятичном виде.
Насколько я могу судить, микроком и пикоком не передают гекс.
Редактировать пояснение: я хочу ввести данные в программу в шестнадцатеричном формате, и пусть она отправляет двоичное (8N1) представление каждой шестизначной шестнадцатеричной пары.
Я думаю, вы имеете в виду, что он должен передавать файлы в двоичном формате, а также (или вместо) ASCII.
pavium 14 лет назад
2
Не файлы, я хочу посылать байты, которые я ввожу с клавиатуры, как br @ ys ternimal в Windows. Кроме того, я не могу просто отправить ascci эквиваленты, как некоторые операции, которые мне нужны, чтобы отправить corrispongd без печатных символов
Lyndon White 14 лет назад
0
@oxinabox: файлы, данные, что угодно. чтобы уточнить, вам нужен режим передачи BINARY вместо режима ASCII, и вы хотите иметь возможность вводить данные для передачи в шестнадцатеричном виде.
quack quixote 14 лет назад
1
8N1 = 8 битов данных, без битов четности и 1 стоповый бит.
Peter Mortensen 14 лет назад
0
3 ответа на вопрос
1
John T
Если программа не позволяет передавать в шестнадцатеричном формате, есть обходные пути. Вы можете передать информацию, odчтобы преобразовать ее в гекс перед отправкой в microcom или picocom.
например, преобразовать «некоторый текст» в шестнадцатеричный код:
к сожалению, od не включен в дистрибутив opnwrt - для этого потребуется перекомпиляция ОС. openwrt не очень хорош, я думаю, что установка debian или даже freebsd может быть лучшим вариантом, хотя это будет означать перенос и кросс-копирование
Lyndon White 14 лет назад
0
@oxinabox: на чем работает openwrt? Вы могли бы кросс-компилировать `od` для среды openwrt, а затем, если он находится на маршрутизаторе,` scp` - просто двоичный файл по сети.
quack quixote 14 лет назад
0
Могу ли я получить больше информации о том, как сделать этот трубопровод? Я создал специальную программу, которая преобразует шестнадцатеричное или десятичное число или binery, взятые в качестве параметра, в соответствующий поток binery. Как мне передать это через com программу?
Lyndon White 14 лет назад
0
Это мертвый проект, но он отлично работает и может показывать шестнадцатеричное представление символов.
Но он графический, поэтому вы не можете использовать его во встроенном Linux (если у вас там нет поддержки X и QT4).
0
MarSoft
Я думаю, что sstermдолжно работать на вас. Он написан на Python (что, вероятно, плохо), но основан на консоли и поддерживает шестнадцатеричный ввод и вывод.
Вы можете запустить его так:
ssterm /dev/ttyAMA0 -b 9600 -i hex -o split
Затем он должен прочитать шестнадцатеричные символы из стандартного ввода, преобразовать каждые 2 символа в байт и отправить этот байт в последовательный.
Также он будет считывать данные с устройства и отображать их hexdumpаналогично: шестнадцатеричное представление слева и ascii-представление справа.