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