Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Когда связываете два последовательных порта, как показано на схеме (кроссом для теста), их signal grounds лучше тоже соединить — даже если это два порта одного устройства.
В управлении розетками было бы чуть лучше, если бы контроллер повторял посланный командный байт: сказали «A» — он и ответил «A», если услышал его. На остальное управление это не влияет, если вообще клиентская часть сделана с учётом реалий — зовёт tcflush(,TCIFLUSH) перед любой посылкой "?".Достаточно посылать не «A», а «A?». Буфер USB FS — 64 байта, оба байта уйдут в одном и том же физическом пакете. И устройство пришлёт пакет с ответом из трёх байт, в которых на заведомо известной позиции будет стоять эхо. Можно даже посылать пакет вида «AbC?» — это тоже менее шестидесяти четырёх байт. И они тоже уйдут в одном USB пакете. Порт же виртуальный. При разработке протокола эти возможности были учтены.
Доступ к шинам комплекса Redd, реализованным на мостах FTDI