Могу ли я использовать этот подход, чтобы прослушивать сигналы TX и RX с помощью второго Arduino?
Основываясь на этом ответе, я могу подключить 2 Arduino следующим образом:
Но, насколько мне известно, основной микроконтроллер использует протокол RS232, а AtMegau16 (или ATMegau8) преобразует его в протокол USB, эмулируя микросхему FTDI.
Но в моем случае мне нужен только порт RX от второго, чтобы просто нюхать данные. Итак, я посмотрел, как я могу взломать сигнал RS232, и нашел эту схему:
В результате этого чудовища:
Но позволит ли это мне второй UNO захватывать сигналы RX и TX?
@Dimitrios Desyllas, 👍-1
Обсуждение1 ответ
Этот подход может работать в некоторых случаях, но не во всех случаях.
Предполагается, что целью является прослушивание как передающей, так и принимающей стороны сигнала типа RS232.< /p>
Сигнал RS232 может колебаться от -12 до +12 В. Многие логические входы ведут себя неожиданно, когда на них подается напряжение, превышающее их шину питания. Резистор может смягчить эту проблему. Лучше использовать переключатель логического уровня.
Схема в вопросе является примером проводного соединения ИЛИ. Если одна из последовательных линий передачи имеет высокий уровень, данные с другой линии будут заблокированы. Как показано на этой диаграмме с сайта wikipedia.org.
Таким образом, эта принципиальная схема будет надежно работать только для полудуплексной связи. Если требуется полный дуплексный мониторинг, необходимо использовать два независимых приемника/монитора.
- Максимальная последовательная скорость CH340
- Можно ли загрузить скетч Arduino через последовательный порт (RX) вместо USB?
- Может ли Arduino Leonardo одновременно использовать USB-порт и последовательные контакты RX TX?
- Внешнее питание 5 В и последовательный порт USB
- Можно ли использовать Serial.print(сообщение), когда USB-кабель не подключен к хост-компьютеру?
- Как установить последовательные драйверы FTDI на Mac?
- SerialUSB на Arduino Due
- Mac не обнаруживает последовательный порт для Леонардо
Вам нужен только диод на линии TX, и вам нужен только резистор на линии RX., @hcheung
Вы можете попробовать это, но ваш сниффер будет работать удовлетворительно только в том случае, если протокол связи является полудуплексным. Это означает, что TX и RX никогда не передаются одновременно. Если протокол полнодуплексный и оба провода передают одновременно, их сигналы смешиваются, что приводит к ошибочным данным. Чтобы справиться с этой ситуацией, вам нужны _два_ канала последовательного приемника, один для TX и один для RX., @the busybee