Обычно невозможно напрямую и прозрачно подключать один UART к другому. Вам необходимо будет предоставить соответствующее программное обеспечение для передачи данных с одного UART на другой.
Если оба UART-устройства работают с одинаковой скоростью передачи данных, это может быть относительно простым: вы можете прочитать регистр Rx из одного UART и записать значение в регистр TX другого (и наоборот для двунаправленных сообщений) , Если вы реализуете это с помощью обработчиков прерываний UART, он может быть более или менее прозрачным для другого кода, запущенного на MCU. Чтобы это работало без буферизации, вы должны быть уверены, что можете перенести данные с одного UART на другой до того, как произойдет переполнение оборудования - ваше оборудование может иметь или не иметь FIFO, поэтому аппаратная буферизация может быть такой же, как Rx регистр и регистр сдвига ввода (два байта). Если есть другие программные операции, которые могут помешать этой операции, вам все равно может понадобиться буферизация.
Если скорость передачи данных различна, вам необходимо будет обеспечить буферизацию, по крайней мере, до более медленного двух портов, и вы не сможете передавать данные с быстрого порта на медленный, должны быть паузы в поток данных для предотвращения исчерпания буфера.
На некоторых устройствах можно значительно снизить накладные расходы на программное обеспечение, используя передачи DMA (вряд ли с вашей стороны я представляю).
Однако вы это сделаете, вам по-прежнему понадобится программное обеспечение для включения и настройки UART - нет сквозного решения с аппаратным или простым «штыревым контактом».
Есть много талантов в переполнении стека, но я думаю, что вы получите лучшие ответы в другом месте. Вы можете попробовать [Электротехнический стековый обмен] (http://electronics.stackexchange.com/) и вернуться к переполнению стека, когда у вас есть вопросы программирования и разработки. Я недостаточно разбираюсь в этой теме, но она кажется довольно широкой, и она может не отвечать на кворум, такой как сеть Stack Exchange. – jww
@jww: ... кроме этого это * есть * как проблема программного обеспечения, что Vinod * думает * является аппаратной проблемой. – Clifford
Непонятно, почему компьютер не может быть подключен непосредственно к датчику. Вы можете использовать аппаратное обеспечение, чтобы решить, кто с ним разговаривает. Почему данные должны проходить через микроконтроллер? – Lundin