Могу ли я использовать этот подход, чтобы прослушивать сигналы TX и RX с помощью второго Arduino?

Основываясь на этом ответе, я могу подключить 2 Arduino следующим образом:

2 ардуино, что второй используется как последовательный порт отладки

Но, насколько мне известно, основной микроконтроллер использует протокол RS232, а AtMegau16 (или ATMegau8) преобразует его в протокол USB, эмулируя микросхему FTDI.

Но в моем случае мне нужен только порт RX от второго, чтобы просто нюхать данные. Итак, я посмотрел, как я могу взломать сигнал RS232, и нашел эту схему:

Шпионский кабель RS232

В результате этого чудовища:

Но позволит ли это мне второй UNO захватывать сигналы RX и TX?

, 👍-1

Обсуждение

Вам нужен только диод на линии TX, и вам нужен только резистор на линии RX., @hcheung

Вы можете попробовать это, но ваш сниффер будет работать удовлетворительно только в том случае, если протокол связи является полудуплексным. Это означает, что TX и RX никогда не передаются одновременно. Если протокол полнодуплексный и оба провода передают одновременно, их сигналы смешиваются, что приводит к ошибочным данным. Чтобы справиться с этой ситуацией, вам нужны _два_ канала последовательного приемника, один для TX и один для RX., @the busybee


1 ответ


0

Этот подход может работать в некоторых случаях, но не во всех случаях.

Предполагается, что целью является прослушивание как передающей, так и принимающей стороны сигнала типа RS232.< /p>

Сигнал RS232 может колебаться от -12 до +12 В. Многие логические входы ведут себя неожиданно, когда на них подается напряжение, превышающее их шину питания. Резистор может смягчить эту проблему. Лучше использовать переключатель логического уровня.

Схема в вопросе является примером проводного соединения ИЛИ. Если одна из последовательных линий передачи имеет высокий уровень, данные с другой линии будут заблокированы. Как показано на этой диаграмме с сайта wikipedia.org.

Таким образом, эта принципиальная схема будет надежно работать только для полудуплексной связи. Если требуется полный дуплексный мониторинг, необходимо использовать два независимых приемника/монитора.

,