SPI.transfer()

Описание

transfer() выполняет одновременную отправку и приём данных по шине SPI. Это связано с тем, что SPI — полнодуплексный (full-duplex) протокол: пока данные передаются, одновременно происходит и приём данных.

Для пересылок одного байта возвращается принятый байт. Для двухбайтовых пересылок с использованием transfer16() возвращаются принятые два байта. Для пересылок буфера принятые данные заменяют исходное содержимое буфера (передача «на месте», in-place).

Эта функция является частью библиотеки SPI. Подробнее см. на главной странице SPI.

Синтаксис

receivedVal = SPI.transfer(val)
receivedVal16 = SPI.transfer16(val16)
SPI.transfer(buffer, size)

Параметры

  • val: байт для отправки по шине. Допустимые типы данных: byte.

  • val16: двухбайтовое значение для отправки по шине. Допустимые типы данных: uint16_t.

  • buffer: массив данных для передачи. Допустимые типы данных: массив byte.

  • size: количество байтов в буфере для передачи. Допустимые типы данных: size_t.

Возвращаемое значение

  • Для SPI.transfer(val): принятый байт. Тип данных: byte.

  • Для SPI.transfer16(val16): принятое двухбайтовое значение. Тип данных: uint16_t.

  • Для SPI.transfer(buffer, size): ничего не возвращается; принятые данные сохраняются в buffer.