Можно ли использовать контакт RX в качестве TX?
- Титульный вопрос. Мне не нужны никакие контакты связи приема, только передача.
На самом деле мне нужно как можно больше контактов передачи на любом Arduino, кроме Mega2560 (для перезаписи EEPROM подчиненных устройств). Mega2560 имеет 23 пары контактов TX/RX.
Может быть, я неправильно понимаю последовательную связь. И, может быть, какая-то мультиплексирующая сделка может работать как Однопроводные датчики температуры...например, softwareSerials[x].write()
...
SoftwareSerial serialOne(2, 3); // Программное обеспечение Serial ONE
SoftwareSerial serialTwo(8, 9); // Программное обеспечение Serial TWO
// RX, TX
- Есть ли способ сделать все контакты с помощью SoftwareSerial TX? Или половина должна быть RX?
- Просто возьми микроконтроллер получше, и все. - user1829200
- Какой готовый микроконтроллер предназначен для последовательной связи?
@Adamelli, 👍1
Обсуждение2 ответа
Вы должны быть (хотя я этого не тестировал) в состоянии установить контакт RX на неиспользуемый контакт, например 255. Тогда контакт RX ничего не сделает.
#include <SoftwareSerial.h>
SoftwareSerial s0(255, 2);
SoftwareSerial s1(255, 3);
SoftwareSerial s2(255, 4);
SoftwareSerial s3(255, 5);
SoftwareSerial s4(255, 6);
// ... etc ...
"Не может быть более одного экземпляра" связано с приемом. Вы не можете одновременно получать более одного экземпляра SoftwareSerial, но это вас не волнует, поскольку прием не используется.
Одним из способов связи Arduino с устройством Arduino является UART (и последовательный программный код для дополнительных контактов). Для ESP32, похоже, это позволяет использовать 28 контактов TX, используя метод Майенко (в их ответе). Другими словами, ведомые 28 устройств.
После дальнейших исследований разве I2C не является ясным путем?
- Чем больше подчиненных устройств тем меньше раз в секунду можно поговорить с ними со всеми
- Приложение должно иметь все подчиненные устройства, выполняющие команды синхронно:
- По крайней мере, подчиненные устройства должны начать функционировать одновременно.
- Сколько ведомых Uno/Nano можно подключить к ESP32?
Каждое устройство в сети i2c имеет 7-битный адрес, поэтому одна сеть теоретически поддерживает до 128 подчиненных устройств. Однако на практике этот предел гораздо ниже. ведомые микросхемы i2c часто поддерживают только 8 различных адресов шины, не более 8 из которых могут быть подключены к одной и той же сети i2c.
https://mindbleach.com/words/2012/10/23/i2c-and-device-limits
Неясный ответ:
- https://forum.arduino.cc/index.php?topic=159860.0
- https://forum.arduino.cc/index.php?topic=367961.0
- Arduino считывает состояние подключения устройства hc-05
- Как связаться с GPS SIM900a без serial monitor
- Невозможно получить данные при использовании нескольких SoftSerial на Arduino Nano.
- Проблемы при использовании SoftwareSerial
- Используйте ATtiny85 для выполнения начальной настройки маршрутизатора Cisco с использованием его консольного порта USB.
- Прослушивание последовательных портов
- Последовательная связь между Arduino
- AT-команда не отвечает на последовательный монитор
что вы пытаетесь построить?, @jsotola
@jsotola От двух до 20 моторных модулей, управляемых подчиненными устройствами Arduino (такими как Nanos), выполняющими простые уравнения, передаются переменные с главного устройства (такого как ESP32)., @Adamelli
"Знаете ли вы, что Arduino (Uno, Mega2560) не допускает более одного экземпляра SoftwareSerial?" вы уверены, потому что [один из двух примеров sketches](https://github.com/arduino/ArduinoCore-avr/blob/master/libraries/SoftwareSerial/examples/TwoPortReceive/TwoPortReceive.ino) использует два экземпляра SoftwareSerial. Одновременно может приниматься только один экземпляр. Может быть, это то, что вы имели в виду, но OP нужен только TX., @Gerben
Насколько я вижу, вы можете использовать один и тот же вывод RX на всех экземплярах SoftwareSerial. Вам придется "пожертвовать" только одним контактом., @Gerben
Вы также можете иметь одно последовательное соединение, которое является общим для всех наносистем, и добавить идентификатор к каждому сообщению. Например, "включите двигатель 3", где только третий Нано будет действовать по этому сообщению., @Gerben
Ах да, спасибо, Гербен. (Подход ID-это то, что я имел в виду под аналогией с Одним проводом.), @Adamelli
Возможно, вам захочется поискать в Google последовательную библиотеку программного обеспечения только для передачи. Это также уменьшит размер кода, так как код приема не будет включен., @chrisl