mzaliznyak писал(а):Если к питанию никаних изменений, если к земле после каждого байта на комп приходит 0x00.
Ага, приход 0x00 - это правильное поведение. На выходе TX всё время держится "1", падающий фронт - начало передачи.
Продолжим фантазировать...
Надо определить виновника. Имхо один из:
- сам UART
- мультиплексор
- MAX232
В момент переключения на приём в контроллер ничего не "набегает"?
Чисто для опыта - можешь переключать ТОЛЬКО выход TX из контроллера, а RX оставить на одной линии, а то и для идеала - отключить от всех MAX232 и потдянуть к питанию.
На момент переключения выключать UART.
Попробовать другой мультиплексор!
Кстати! Что говорит даташит о времени перехода выхода в Z-состояние и времени восстановления из оного?
И зачем там вообще элементы с Z-состоянием, когда можно всё это сделать на обычной логике.
Да, хотелось бы взглянуть на схему всего этого дела.
Не конфигурировать UART, а ножку TX сконфичить как выход и установить там "1".
Затем попробовать переключать линии - будет приходить мусор?
Вариант с осциллом был бы идеальным. Ладно - есть возможность подцепить на входе MAX232 хотя бы другой контроллер с UART? Подслушать TTL-уровни сигнала.