Шановні друзі! Сайт знаходиться в процесі перекладу на солов'їну мову. Все буде Україна!

Вернуться к библиотеке SPI

 

transfer()

Описание

Осуществляет передачу байта данных по шине SPI, одновременно принимая входящий байт.

Расширенные возможности в Arduino Due

Если при вызове функции SPI.transfer() вы укажите один из выводов SS Arduino Due, то указанный вами вывод будет автоматически активирован (установлен в низкий уровень) перед началом передачи и обратно деактивирован (установлен в высокий уровень) после завершения передачи данных.

Для управления состоянием вывода SS после передачи данных предусмотрены специальные параметры - SPI_CONTINUE и SPI_LAST. При использовании SPI_CONTINUE, вывод SS будет оставаться активным (в низком уровне) даже после передачи, что позволяет продолжить отправку байтов данных функцией transfer() в пределах той же самой транзакции. При отправке последнего байта из транзакции необходимо использовать параметр SPI_LAST. Если третий параметр в функции transfer() не указан, то в качестве этого параметра по умолчанию используется SPI_LAST. После завершения передачи с флагом SPI_LAST, вывод SS становится неактивным (снова переходит в высокий уровень). 

Подробнее о расширенных возможностях Arduino Due см. здесь.

Синтаксис

SPI.transfer(val)
SPI.transfer(slaveSelectPin, val)	 (только для Arduino Due)
SPI.transfer(slaveSelectPin, val, transferMode)	 (только для Arduino Due)

Параметры

val:

байт данных, который необходимо отправить по SPI

slaveSelectPin: вывод SS (только Arduino Due)
transferMode:
  • SPI_CONTINUE: оставляет вывод SS в низком уровне, что позволяет продолжить передачу байтов.
  • SPI_LAST: значение по умолчанию - после передачи одного байта данных, вывод SS возвращается в высокий уровень.

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

байт данных, полученный по шине SPI