Arduino:Библиотеки/SoftwareSerial: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 47: | Строка 47: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Портал/Arduino}} | |||
Текущая версия от 12:27, 8 июля 2023
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Библиотека SoftwareSerial[1]
Все платы Arduino по умолчанию поддерживают последовательную передачу данных. Она осуществляется через 0-ой и 1-ый цифровые контакты, а также через UART – это узел вычислительных устройств, встроенный в чип ATmega. Благодаря UART плата может осуществлять последовательную коммуникацию, даже если чип занимается чем-то другим, но с тем условием, что во время коммуникации не переполняется 64-байтный буфер последовательного порта.
Библиотека SoftwareSerial была разработана, чтобы последовательную коммуникацию можно было выполнять не только на 0-ом и 1-ом, но и на других цифровых контактах Arduino. Это выполняется на программном уровне, благодаря чему библиотека, собственно, и получила свое название – «SoftwareSerial» в переводе означает «последовательная коммуникация, организованная программным методом». С помощью библиотеки SoftwareSerial можно настроить несколько последовательных портов, работающих на скорости до 115200 бит/с. Кроме того, у объекта SoftwareSerial есть специальный параметр, позволяющий инвертировать входящие сигналы – некоторые устройства требуют именно такого протокола передачи данных.
Версия SoftwareSerial, включенная в IDE Arduino 1.0 и позже, основана на библиотеке NewSoftSerial от Микала Харта (Mikal Hart).
Ограничения
Эта библиотека обладает следующими ограничениями:
- Нельзя одновременно получать данные сразу несколькими портами. В конкретный момент времени это может делать только один порт.
- Прерывания поддерживаются не на всех контактах Mega и Mega2560, поэтому для RX можно использовать только следующие: 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69).
- Прерывания поддерживаются не на всех контактах Leonardo и Micro, поэтому для RX можно использовать только следующие: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).
- На Arduino/Genuino 101 максимальная скорость передачи данных через RX-контакт составляет 57600 бит/с.
- На Arduino/Genuino 101 на 13-ом контакте RX не работает.
Если ваш проект требует одновременную коммуникацию сразу по нескольким портам, воспользуйтесь библиотекой AltSoftSerial, разработанной Полом Стоффрегеном (Paul Stoffregen). Она исправляет и другие проблемы SoftwareSerial, но имеет собственные ограничения.
Функции
- Класс SoftwareSerial
- available()
- begin()
- isListening()
- overflow()
- peek()
- read()
- print()
- println()
- listen()
- write()
Библиотека Software Serial
- Software Serial Example - Объясняет, как использовать библиотеку SoftwareSerial... потому что иногда одного последовательного порта просто недостаточно.
- Two Port Receive - Как работать с несколькими портами типа Software Serial.
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Стандартные библиотеки
- Стандартная библиотека
- Стандартная библиотека Arduino
- Стандартные библиотеки Arduino
- Библиотека SoftwareSerial
- Стандартная библиотека SoftwareSerial
- SoftwareSerial