Каталог

Навигация по 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

serialEvent serialEvent() вызывается автоматически после каждой итерации 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_MODE0SPI_MODE3); в новых проектах лучше использовать SPISettings внутри SPI.beginTransaction().

SPI

SPI.transfer() SPI.transfer() отправляет байт, 16-битное значение или буфер по шине SPI и одновременно возвращает данные, принятые от ведомого устройства.

SPI

SPI.usingInterrupt() usingInterrupt() сообщает библиотеке SPI, какое прерывание работает с шиной: тогда SPI.beginTransaction() автоматически блокирует его, защищая транзакцию от вмешательства ISR.

SPI

SPISettings SPISettings объединяет частоту, порядок битов и режим тактирования 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().

Связь