Какие данные на самом деле отправляются при записи в последовательный порт?

В любой оболочке POSIX

set -- "$@" "value"

добавит valueв конец списка позиционных параметров (фактически заменит список новым более длинным списком )и

set -- "value" "$@"

добавит его в начало (и технически будет обратным shift, поскольку shiftудаляет первый элемент ). Это верно для zsh.

--используется для защиты следующих значений от случайной интерпретации как опций, если они начинаются с -.

Специальная переменная $@используется почти исключительно как "$@", так как это расширяется до значения каждого позиционного параметра, указанного отдельно. Выражение "$@ somethingelse"расширится до списка отдельно цитируемых позиционных параметров, а <space>somethingelseбудет добавлено к последнему из них.

Чтобы использовать значения позиционных параметров в виде одиночной строки , разделенной пробелами (или любым другим первым символом $IFS, который может быть ), использование"$*"("$* somethingelse"правильно определено как одна строка ). Однако это не то, что вы хотите сделать в данном случае, так как это сведёт ваш список значений к одному единственному значению.

0
01.05.2021, 20:43
1 ответ

What I am confused about, is why there is a need for such a USB to serial converter if I am writing to a serial port anyways?

Вы пишете в абстракцию последовательного порта, не в сам последовательный порт. На самом деле ваши данные могут передаваться по чему-то, что не имеет ничего общего с классическим последовательным портом, например, если ваш адаптер USB-порта используется совместно через IP-сеть(usbip). Или, если вы используете одно из решений этого вопроса .

Программы постоянно взаимодействуют с абстракциями. Вы также можете спросить :, почему бы не писать напрямую на физический экран, а не на цепочку программных и аппаратных «адаптеров»? (графическая система, графическая карта, HDMI, просто чтобы упомянуть некоторые «переходы», с которыми вы можете столкнуться ).

Вы могли бы пойти по этому пути и переделать все так, чтобы писать прямо на экран, но это означало бы изменение программы, если вы подключаете монитор VGA вместо монитора HDMI. Вот почему мы позволяем операционным системам предлагать абстракции, над которыми мы можем работать.

1
28.07.2021, 11:36

Теги

Похожие вопросы