Контакты Arduino с 3 по 7 используются для последовательной передачи данных.
Добрый день.
Я новичок в Arduino, поэтому, пожалуйста, будьте терпеливы. Мне нужно знать, можно ли использовать контакты, отличные от контактов 0 и 1, для последовательного соединения. У меня есть 3 устройства, которые необходимо подключить к Arduino через USB, но когда я увидел спецификацию Arduino, это означало, что только контакты 0 и 1 используются для последовательного приема/передачи. Так можно ли подключить остальные 2 USB-разъема через контакт 2 к контакту 5
Большое спасибо за ответ
@Ciach, 👍0
Обсуждение3 ответа
Пинами 0, 1 являются rx/tx для аппаратного периферийного устройства UART. Arduino (я предполагаю, что UNO/Nano) имеет только один аппаратный UART.
Существует программная библиотека, которая использует любые 2 контакта для имитации поведения аппаратного контакта UART для дополнительных программных UART (это называется битовым ударом). эти «программные» UART не такие быстрые, как аппаратные, и на них нельзя рассчитывать в плане высокой скорости передачи данных (скоростей). но для 9600кбит/с они хороши. имейте в виду, что, несмотря на их простоту реализации и универсальность, они используют время ЦП при обмене данными, и если вы используете прерывания в своем коде, это повлияет на поток данных.
https://www.arduino.cc/en/Reference/SoftwareSerial
Спасибо Тирдад Садри Неджад, Это большая помощь для меня. Я думаю, это ответит на мою проблему., @Ciach
Кстати, я пробовал использовать программный последовательный порт для MIDI (31 250) бит/с, но это не сработало надежно. Если вам нужно четыре последовательных порта, проверьте Arduino Mega., @Michel Keijzers
Если вам нужно, чтобы ваш Arduino был ведомым устройством USB для дополнительных последовательных интерфейсов, вы можете подключить FTDI Basics к аппаратным последовательным портам (например, на Mega) или к программным последовательным портам (например, на Mega).
Старайтесь избегать библиотеки SoftwareSerial, она очень ненадежна, это я могу вам сказать по опыту. Взамен попробуйте AltSoftSerial или NeoSWSerial, гораздо лучше.
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
Можете ли вы объяснить, что это за три устройства? Что это за usb-устройства? Arduino uno — это не компьютер. Пожалуйста, добавьте дополнительную информацию к вашему вопросу., @Jot
Три устройства — это компьютер (который управляет системой, которую я создаю), маршрутизатор и мобильный телефон (которые управляются системой, которую я создаю)., @Ciach
Некоторые смартфоны на базе Android распознают модуль USB-Serial. Такие телефоны можно подключить к плате Arduino (с USB-подключением к телефону). Я не знаю, есть ли маршрутизаторы, которые могут это делать. Это взломанный маршрутизатор или маршрутизатор с открытой прошивкой?, @Jot