Каталог
Навигация по Arduino Reference
Функции
Связь
65 элементовSerial
Serial
if(Serial) Проверяет, открыто ли соединение с последовательным портом — на платах с нативным USB (Leonardo, Micro, Zero) возвращает true только после того, как компьютер реально открыл порт.
Serial
Serial.available()Serial.available() возвращает количество байтов, накопившихся во входном буфере последовательного порта и готовых к чтению через Serial.read().
Serial
Serial.availableForWrite()Serial.availableForWrite() возвращает количество байтов, которые можно записать в выходной буфер прямо сейчас — без риска заблокировать выполнение скетча.
Serial
Serial.begin()Serial.begin() открывает последовательный порт и задаёт скорость в бодах — без этого вызова в setup() функции Serial.print() и Serial.read() работать не будут.
Serial
Serial.end()Serial.end() останавливает последовательную связь и освобождает выводы RX и TX, после чего их можно использовать как обычные GPIO через pinMode().
Serial
Serial.find()Serial.find() читает входящие байты и ищет среди них заданную строку target, возвращая true при успехе или false по истечении таймаута.
Serial
Serial.findUntil()Serial.findUntil() читает буфер последовательного порта и возвращает true, если строка target найдена раньше, чем строка-терминатор terminal или истёк таймаут.
Serial
Serial.flush()Serial.flush() блокирует выполнение скетча до тех пор, пока все данные из исходящего буфера не будут физически переданы через последовательный порт.
Serial
Serial.getTimeout()Serial.getTimeout() возвращает текущий таймаут ожидания данных (в мс) — значение типа unsigned long, установленное через Serial.setTimeout().
Serial
Serial.parseFloat()Serial.parseFloat() читает входной буфер последовательного порта и возвращает первое найденное число с плавающей точкой как float.
Serial
Serial.parseInt()Serial.parseInt() считывает из последовательного потока первое целое число и возвращает его как long, пропуская нецифровые символы согласно выбранному режиму LookaheadMode.
Serial
Serial.peek()Serial.peek() читает следующий байт из буфера Serial, не удаляя его — в отличие от read(), байт остаётся на месте и будет возвращён снова при следующем вызове.
Serial
Serial.print()Serial.print() отправляет данные в последовательный порт как читаемый текст: строки, числа и символы с поддержкой BIN/OCT/DEC/HEX и настраиваемой точностью для float.
Serial
Serial.println()Serial.println() отправляет данные в последовательный порт как текст и автоматически добавляет \r\n в конце — каждое сообщение оказывается на отдельной строке в Serial Monitor.
Serial
Serial.read()Serial.read() извлекает и удаляет один байт из входного буфера последовательного порта, возвращая число от 0 до 255 или -1, если буфер пуст.
Serial
Serial.readBytes()Serial.readBytes() читает из последовательного порта ровно столько байт, сколько указано в length, и записывает их в массив buffer, ожидая данные до истечения таймаута.
Serial
Serial.readBytesUntil()Serial.readBytesUntil() читает байты из последовательного буфера в массив, останавливаясь на символе-терминаторе, по таймауту или при достижении length байт — сам терминатор в buffer не попадает.
Serial
Serial.readString()Serial.readString() читает все символы из последовательного буфера и возвращает их как объект String, ожидая данные до истечения таймаута, заданного через Serial.setTimeout().
Serial
Serial.readStringUntil()Serial.readStringUntil(terminator) читает символы из последовательного буфера в объект String, останавливаясь на заданном символе-терминаторе или по истечении таймаута (см. setTimeout()).
Serial
Serial.setTimeout()Serial.setTimeout() задаёт, сколько миллисекунд функции чтения (Serial.readBytes(), Serial.parseInt() и другие) будут ждать данных, прежде чем вернуть управление скетчу.
Serial
Serial.write()Serial.write() отправляет байты напрямую в последовательный порт — без преобразования в текст, в отличие от Serial.print().
Serial
serialEventserialEvent() вызывается автоматически после каждой итерации loop(), когда в буфере последовательного порта есть данные, но поддерживается лишь на некоторых платах Arduino.
SPI
SPI
SPI.begin()SPI.begin() инициализирует шину SPI: настраивает аппаратные контакты и переводит плату в режим контроллера SPI — вызывайте один раз в setup() перед любой работой с периферией.
SPI
SPI.beginTransaction()beginTransaction() захватывает шину SPI с нужными настройками и защищает передачу от вмешательства прерываний или других SPI-операций до вызова SPI.endTransaction().
SPI
SPI.end()SPI.end() завершает работу с шиной SPI и освобождает аппаратный периферийный блок, не сбрасывая режимы выводов — их нужно переключить вручную через pinMode().
SPI
SPI.endTransaction()endTransaction() завершает транзакцию на шине SPI и освобождает её для других библиотек — вызывайте после того, как подняли вывод CS/SS обратно в HIGH.
SPI
SPI.setBitOrder() УстаревшаяSPI.setBitOrder() задаёт порядок передачи битов по шине SPI: с младшего (LSBFIRST) или со старшего (MSBFIRST); в новых проектах лучше указывать порядок через SPISettings.
SPI
SPI.setClockDivider()SPI.setClockDivider() задаёт делитель тактового сигнала шины SPI относительно системной частоты, но считается устаревшей — в новых проектах используйте SPISettings вместе с SPI.beginTransaction().
SPI
SPI.setDataMode()SPI.setDataMode() задаёт режим тактирования SPI (SPI_MODE0…SPI_MODE3); в новых проектах лучше использовать SPISettings внутри SPI.beginTransaction().
SPI
SPI.transfer()SPI.transfer() отправляет байт, 16-битное значение или буфер по шине SPI и одновременно возвращает данные, принятые от ведомого устройства.
SPI
SPI.usingInterrupt()usingInterrupt() сообщает библиотеке SPI, какое прерывание работает с шиной: тогда SPI.beginTransaction() автоматически блокирует его, защищая транзакцию от вмешательства ISR.
SPI
SPISettingsSPISettings объединяет частоту, порядок битов и режим тактирования SPI в один объект, который передаётся в SPI.beginTransaction() для настройки шины под конкретное устройство.
Stream
Stream
Stream.available()stream.available() возвращает количество байтов, уже готовых к чтению в буфере потока — без блокировки, чтобы безопасно вызывать read() только когда данные действительно есть.
Stream
Stream.find()Stream.find() читает поток побайтово и возвращает true, если заданная строка найдена до истечения таймаута — при этом все просмотренные байты извлекаются из буфера и недоступны для read().
Stream
Stream.findUntil()findUntil() ищет строку target в потоке данных и возвращает true, если нашла её раньше, чем встретился terminator или истёк таймаут.
Stream
Stream.flush()flush() приостанавливает выполнение скетча и ждёт, пока все данные из исходящего буфера не будут полностью переданы — полезно перед сбросом устройства или переходом в сон.
Stream
Stream.getTimeout()getTimeout() возвращает текущий тайм-аут потока в миллисекундах — значение типа unsigned long, установленное через setTimeout() (по умолчанию 1000 мс).
Stream
Stream.parseFloat()parseFloat() читает из потока Stream первое число с плавающей точкой, пропуская ненужные символы согласно выбранному режиму LookaheadMode.
Stream
Stream.parseInt()parseInt() читает поток посимвольно и возвращает первое найденное целое число как long; режим lookahead и параметр ignore позволяют гибко управлять тем, какие символы пропускать до числа.
Stream
Stream.peek()stream.peek() возвращает следующий байт из буфера, не удаляя его — в отличие от read(), данные остаются доступны для повторного чтения. Возвращает int, или −1 если буфер пуст.
Stream
Stream.read()stream.read() считывает один байт из входного потока и сдвигает указатель вперёд — в отличие от peek(), который байт не «потребляет». Возвращает int: значение байта или -1, если поток пуст.
Stream
Stream.readBytes()readBytes() читает из потока блок байтов заданной длины и записывает их в buffer, завершаясь досрочно по таймауту, если данные не поступили.
Stream
Stream.readBytesUntil()readBytesUntil() читает байты из потока в buffer, останавливаясь при встрече символа-терминатора character, заполнении length байтов или истечении таймаута — и возвращает фактическое число прочитанных байтов.
Stream
Stream.readString()readString() читает все доступные символы из потока и возвращает их как объект String, завершая чтение по истечении таймаута.
Stream
Stream.readStringUntil()readStringUntil() читает символы из потока в объект String до заданного символа-терминатора — сам терминатор в результат не включается, но из потока удаляется.
Stream
Stream.setTimeout()setTimeout() задаёт, сколько миллисекунд функции вроде readBytesUntil() или parseInt() будут ждать данных из потока, прежде чем завершиться — по умолчанию 1000 мс.
Wire
Wire
Wire.available()Wire.available() возвращает количество байтов, готовых к чтению из I²C-буфера — используйте её перед Wire.read(), чтобы не читать пустой буфер.
Wire
Wire.begin()Wire.begin() запускает библиотеку Wire и подключает устройство к шине I²C: без аргументов — как контроллер, с адресом — как периферия.
Wire
Wire.beginTransmission()Wire.beginTransmission() открывает сеанс передачи по I²C к устройству с указанным адресом и готовит буфер: байты добавляются через Wire.write(), а отправляются при Wire.endTransmission().
Wire
Wire.clearWireTimeoutFlag()Wire.clearWireTimeoutFlag() сбрасывает флаг тайм-аута I2C-шины, чтобы Wire.getWireTimeoutFlag() после следующей транзакции отражал именно её результат, а не ошибку из прошлого обмена.
Wire
Wire.end()Wire.end() деактивирует шину I²C, освобождает выводы SDA и SCL и отключает аппаратный периферийный блок; после этого шину можно снова запустить через Wire.begin().
Wire
Wire.endTransmission()Wire.endTransmission() завершает I²C-транзакцию: отправляет накопленные через Wire.write() байты на шину и возвращает byte-код результата — 0 означает успех, остальные значения указывают на конкретную ошибку.
Wire
Wire.getWireTimeoutFlag()Wire.getWireTimeoutFlag() возвращает true, если с момента последнего сброса на шине I²C хотя бы раз произошёл тайм-аут — флаг остаётся установленным до явного вызова Wire.clearWireTimeoutFlag().
Wire
Wire.onReceive()Wire.onReceive() регистрирует функцию обратного вызова, которая автоматически вызывается, когда I²C-контроллер отправляет данные на адрес вашего устройства.
Wire
Wire.onRequest()onRequest() регистрирует функцию-обработчик, которую Arduino вызовет автоматически, когда I²C-контроллер запросит данные — внутри обработчика отправляйте ответ через Wire.write().
Wire
Wire.read()Wire.read() извлекает один байт из входного буфера I²C — после requestFrom() на контроллере или внутри обработчика onReceive() на периферии. Возвращает int, при пустом буфере — -1.
Wire
Wire.requestFrom()requestFrom() запрашивает у периферийного I²C-устройства нужное число байтов, которые затем читаются через available() и read().
Wire
Wire.setClock()Wire.setClock() задаёт тактовую частоту I²C-шины — например, 100000 для стандартного режима или 400000 для быстрого. Вызывайте после Wire.begin().
Wire
Wire.setWireTimeout()Wire.setWireTimeout() задаёт предельное время ожидания I²C-операции в режиме контроллера — если шина зависла, библиотека прервёт передачу и вернёт ошибку вместо бесконечного ожидания.
Wire
Wire.write()Wire.write() помещает байты в I²C-буфер контроллера (данные уйдут при Wire.endTransmission()) или формирует ответ периферии внутри Wire.onRequest().
Связь
Связь
Print КлассPrint задаёт общий интерфейс print(), println() и write() для вывода данных в Serial, на LCD, в сеть и другие устройства.
Связь
SerialSerial — встроенный UART-интерфейс Arduino для обмена данными с компьютером и внешними устройствами через Serial Monitor, терминал или внешние модули.
Связь
SPI БиблиотекаSPI позволяет Arduino общаться с периферией — дисплеями, SD-картами, датчиками и сетевыми модулями — через быстрый синхронный интерфейс SPI.
Связь
Stream Базовый классStream лежит в основе работы с потоками данных в Arduino: от него наследуются Serial, Wire, Ethernet, SD и другие — и все они используют единый набор методов чтения, поиска и разбора данных.
Связь
Wire БиблиотекаWire обеспечивает работу с шиной I2C на Arduino — подключайте датчики, дисплеи и модули всего по двум проводам, используя read() и write().