Как выбрать использование библиотеки softserial в проекте Arduino?
Я хочу реализовать проект, в котором имеется множественная связь Arduino через UART, и одним из ограничений этого проекта является использование Arduino Nano (маленького и дешевого). Мне нужно установить 4 экземпляра последовательного порта на Nano, чтобы подключить другие nano для приема и записи. Я искал последовательный порт nano, у которого есть только один аппаратный последовательный порт, поэтому после того, как я нашел множество библиотек softserial, таких как pre-bulite softserial и altsoftserial NeoSWSerial, NeoHWSerial и NeoICSerial. Поскольку библиотека тоже библиотека, я не знаю, какая из них поможет завершить мой проект.
@Haseo, 👍1
Обсуждение1 ответ
Я думаю, ваша проблема в том, что вам нужно 4 последовательных порта.
С серийным программным обеспечением этого просто не произойдет:
- SoftwareSerial может получать данные только через один последовательный порт в любой момент времени.
- AltSoftSerial ограничен определенными контактами и только одним экземпляром, поскольку существует только один набор контактов.
- NeoSWSerial находится между ними. Более эффективен, чем SoftwareSerial, но все же (насколько я могу судить) ограничен одним экземпляром (он использует прерывание таймера для управления связью, поэтому может использовать любые контакты)
Если вам нужна связь между множеством устройств через последовательный порт, вам потребуются либо устройства с большим количеством аппаратных последовательных портов (например, Arduino Mega), либо реализация системы с многоточечной шиной (например, RS-485), для которой нужен только один порт. последовательный порт для связи со многими устройствами. Однако требуется дополнительное внешнее оборудование.
Хороший ответ. Другой аппаратный вариант — расширитель SPI-UART., @caligari
- Проблема последовательной связи с общей землей SIM800L
- Странное поведение SoftwareSerial с Arduino nano при настройке нескольких объектов SoftwareSerial
- В чем разница между библиотеками Software Serial? Какая из них совместима с Arduino Nano?
- Как отправить команду AT на sim800l с помощью SoftwareSerial
- Использование SoftwareSerial вместе с библиотекой FastLED для управления светодиодами WS2812
- Использование последовательных контактов TX/ RX для связи по USB
- SIM800L не отвечает на AT-команды
- HLW8032 UART отправляет случайные данные (регистры часто переполняются)
что не так с последовательной библиотекой программного обеспечения Arduino? в каком смысле у тебя это не работает?, @Jaromanda X
Является ли использование UART жестким требованием? Если нет, рассмотрите возможность использования соединения I2C, которое использует одно соединение и адреса для связи со многими устройствами., @Nefrin