Вы осознаёте теперь всю сложность работы с COM-портом? При этом мы не разобрали даже половины его возможностей, а уже это оказывается дико сложным.
Теперь осознал. Буду требовать повышения зарплаты.
Да очень просто, если у вас режим передачи RS-485 управляется линией DTR/RTS, либо GPIO, то вы должны точно знать, когда данные были отправлены, чтобы правильно выставить эти пины, меняя режим передачи на приём.
С RS-485 в линуксе всё обстоит неважно. Этот интерфейс совершенно не стандартизирован, и каждый производитель может делать всё, что захочет. Где-то его нужно инициализировать в ядре, и драйвер ядра будет автоматически переключать приёмо-передатчик, где-то это всё реализовано аппаратно.
По моему скромному мнению управлять направлением RS485 линией DTR/RTS - не слишком хорошее решение, а для линукса, даже на уровне драйвера ядра (если в контроллере нет аппаратной поддержки), практически невозможное. Поскольку линукс не система реального времени, а живёт как подобного рода системы богатой внутренней жизнью, то гарантировать заданное время переключения невозможно и в этом случае работают только внешние аппаратные решения.
По поводу фотографии в начале поста . Работал на таком в молодости. Но мне больше нравился такой как на фотографии ниже (справа). На него можно было пиво поставить.
Если количество count равно нулю, то read() возвращает это нулевое значение и завершает свою работу.
Не так безобидно, см.
read(2) — Linux manual page
If count is zero, read() may detect the errors described below. In the absence of any errors, or if read() does not check for errors, a read() with a count of 0 returns zero and has no other effects.
например
EFAULT buf is outside your accessible address space.
On error, -1 is returned, and errno is set to indicate the error. In this case, it is left unspecified whether the file position (if any) changes.
Возвращает дескриптор (описатель) открытого файла, число больше нуля. В любом другом случае – это ошибка открытия файла.
open(2) — Linux manual page
The return value of open() is a file descriptor, a small, nonnegative integer that is an index to an entry in the process's table of open file descriptors.
Попробуйте объяснить, что такое «майнить биткоин» людям за 70, вот примерно так же я чувствую себя, когда пытаюсь объяснить что такое Мейнфрейм чуть больше чем всем.
Попробуйте объяснить людям 80+, что такое интернет и как им заказать еду на дом с предоплатой по карте, опустив объяснения про мышь, клавиатуру, браузер, сайт и т.д.
В начале 60-х мне купили конструктор (был школьником) — радиоприёмник прямого усиления на 2-х радиолампах. Свободно продавался в магазине за вменяемые деньги (хотя жили мягко говоря небогато, никто не говорил, что игрушка дорогая). Включал всё необходимое — шасси, панельки, лампы, трансформаторы и т.п. Даже провода. Надо было собрать и спаять.
Так вот он как-то удивительно легко переделывался в передатчик на несколько сотен метров. В качестве микрофона использовался динамик.
В начале 1970-х мы ходили в поход в окрестностях озера Селигер.
В команде было два чисто городских жителя.
Сначала посмеялись над одним (включая второго городского), потому что он думал, что в каждой деревне есть магазин.
Потом посмеялись над вторым, потому что он думал, что в каждой деревне есть телефон.
При этом в потолке каждой избы была трещина от сверхзвуквого перехода.
Россия — страна контрастов.
Хотел бы заметить, что нормально люди слушают (лучше сказать — воспринимают) музыку не ушами, а всем организмом. Поэтому ходят в концертные залы и кинотеатры.
На эту тему вспомню (приятно — был молодым:):
Приятель повёл меня в паб (огромный — другого берега не было видно).
Неосторожно (не уверен — может быть он так устроил специально) уселись около зстрады. Где-то через час пришли музыканты. Первая композиция продолжалась минут восемь. С первой минуты я сидел как кол проглотивши и боялся как бы у меня внутри что-нибудь не оборвалось. Приятель напротив радостно прихлопывал кружкой пива по столу в такт музыке. По окончании номера он довольно сказал
— Здорово, у меня внутри чуть что-то не оборвалось.
После чего по моему настоянию мы пересели подальше.
Мужики, не примите строго, ибо сёдни не чуть-чуть выпил (ибо алкоголик, и каникулы зимние).
Так вот, в 1968 году за 14 (четырнадцать) рублей купил у друга тиливизер КВН-49, он его купил в комиссионке за 8 руб. Может быть путаю — это я купил за 8, а потом уже продал за 14.
Линзу мне родственница подарила, а потом приятель налил туда чернил, пытаясь сделать телевизор цветным (тоже под Новый год). Показывал 1-й и 3-й канал (всего было 3).
Когда его включали, гас свет на этаже, и приходилось идти врубать пакетник.
Пишите исчо.
Со скоро наступающим старым Новым годом.
Кстати, дарю идею фирмам, выпускающим всякую USB-ерунду, вроде пластикового хамелеона, периодически высовывающего язык: выпустить USB-устройство в виде педали, при нажатии на которую эмулируются нажатия заданных пользователем клавиш.
Измеритель уровня углекислого газа (CO2) наверное самый недооценённый прибор, который на мой взгляд должен быть в каждой квартире, ведь он показывает, насколько воздух пригоден для дыхания и с помощью него всегда видно, когда пора проветривать.
К счастью, слава Богу, каждый человек имеет встроенный датчик уровня CO2, что, к сожалению, неправильно используется как датчик уровня кислорода в автомате управления дыханием. Такого рода ошибка проектирования достаточно часто приводила к трагическим последствиям. Гораздо полезней датчик СО, которого у текущей модели человека нет, и который очень полезен при использовании печи или камина.
Вообще-то в компьютере информация хранится тоже не святым духом. В оригинале
т.е. речь идёт просто о записи вручную.
Звонок по офисному телефону. Женский голос просит подойти такого-то. Диалог
Он ушёл.
Давно ушёл?
10 минут назад.
(Обиженно) Так вы не скажете - ДАВНО он ушёл?
Теперь осознал. Буду требовать повышения зарплаты.
По моему скромному мнению управлять направлением RS485 линией DTR/RTS - не слишком хорошее решение, а для линукса, даже на уровне драйвера ядра (если в контроллере нет аппаратной поддержки), практически невозможное. Поскольку линукс не система реального времени, а живёт как подобного рода системы богатой внутренней жизнью, то гарантировать заданное время переключения невозможно и в этом случае работают только внешние аппаратные решения.
По поводу фотографии в начале поста . Работал на таком в молодости. Но мне больше нравился такой как на фотографии ниже (справа). На него можно было пиво поставить.
Не так безобидно, см.
read(2) — Linux manual page
например
open(2) — Linux manual page
http://www.emcu.eu/stemwin-tools/
110 руб. за 8 килобайт и 10 в 14-й перезаписей в чипдип — это дорого?
И никакой головной боли от слова совсем.
Пример из далёкого прошлого — страны так называемой народной демократии.
Похоже автор страдает эйджизмом.
А почему TECO нет в списке?
Неужели под RSX-11 его не было?
Так вот он как-то удивительно легко переделывался в передатчик на несколько сотен метров. В качестве микрофона использовался динамик.
В команде было два чисто городских жителя.
Сначала посмеялись над одним (включая второго городского), потому что он думал, что в каждой деревне есть магазин.
Потом посмеялись над вторым, потому что он думал, что в каждой деревне есть телефон.
При этом в потолке каждой избы была трещина от сверхзвуквого перехода.
Россия — страна контрастов.
Как-то так
На эту тему вспомню (приятно — был молодым:):
Приятель повёл меня в паб (огромный — другого берега не было видно).
Неосторожно (не уверен — может быть он так устроил специально) уселись около зстрады. Где-то через час пришли музыканты. Первая композиция продолжалась минут восемь. С первой минуты я сидел как кол проглотивши и боялся как бы у меня внутри что-нибудь не оборвалось. Приятель напротив радостно прихлопывал кружкой пива по столу в такт музыке. По окончании номера он довольно сказал
— Здорово, у меня внутри чуть что-то не оборвалось.
После чего по моему настоянию мы пересели подальше.
Так вот, в 1968 году за 14 (четырнадцать) рублей купил у друга тиливизер КВН-49, он его купил в комиссионке за 8 руб. Может быть путаю — это я купил за 8, а потом уже продал за 14.
Линзу мне родственница подарила, а потом приятель налил туда чернил, пытаясь сделать телевизор цветным (тоже под Новый год). Показывал 1-й и 3-й канал (всего было 3).
Когда его включали, гас свет на этаже, и приходилось идти врубать пакетник.
Пишите исчо.
Со скоро наступающим старым Новым годом.
Дарить чужое нехорошо.
И полно статей как сделать самому из старой USB клавиатуры.
А вообще-то подобные штуки я видел лет 35 назад для Макинтошей и Х-терминалов.