Вот и наступил прекрасный момент, когда все доступные порты заняты, а битбэнгать как-то не сподручно. На сцену выходит микросхема-преобразователь UART в-из I2C/SPI Есть аналоги подобных микросхем-преобразователей (MAX3107, MAX14830), которые скорей всего будут лучшим выбором, чем представленная выше. У них нет "магических" регистров доступа и FIFO длиннее. Так вышло, что под рукой была именно эта микросхема. Работа с доступом к определенным регистрам у нее очень специфичная. Вот, например, сноски под описанием регистров из даташита: Обратите внимание на п.п. 2, 7, 10 и 11. Такой выверт легко объяснить - под адресацию регистров микрухи разработчики заложили только 1 байт (16 адресов), а их понадобилось чуть больше. Интересные дизайн-решения для этой микрухи были отмечены и разработчиками драйвера под Линукс: Один неприятный момент заключается в том, что у микросхемы нет регистра с уникальным ID. Но зато у нее есть два регистра доступные для записи кастомных значений (Scratchpad Register
Когда нужна сотня UART'ов или примитивный драйвер для SC16IS740/SC16IS750/SC16IS760
5 декабря 20225 дек 2022
37
3 мин