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.