Описание
Метод класса SPI задает тактовую частоту на шине SPI с помощью коэффициента являющегося отношением частоты микроконтроллера к частоте шины. В платах на базе AVR-микроконтроллеров можно использовать один из следующих коэффициентов деления: 2, 4, 8, 16, 32, 64 или 128. По умолчанию тактовая частота SPI в четыре раза меньше тактовой частоты контроллера (SPI_CLOCK_DIV4). Т.е., если тактовая частота контроллера 16 МГц, то SPI будет работать на частоте 4 МГц.
Дополнительные возможности Arduino Due
В Arduino Due системную частоту можно делить на любое число в диапазоне от 1 до 255. По умолчанию установлен коэффициент 21, чтобы частота SPI была равной 4 МГц, как и на других моделях Arduino.
В качестве параметра метода setClockDivider() можно указать один из аппаратных контактов SS Arduino Due. В этом случае указанная вами частота будет задана только для того устройства на шине SPI, которое соединено с эти контактом.
Синтаксис
SPI.setClockDivider(divider);
SPI.setClockDivider(slaveSelectPin, divider); // только для Arduino Due
Параметры
slaveSelectPin (только для Arduino Due) - контакт SS ведомого устройства (Slave).
divider - для Arduino Due может принимать значения от 1 до 255. Для микроконтроллеров на безе AVR одно из значений:
- SPI_CLOCK_DIV2
- SPI_CLOCK_DIV4
- SPI_CLOCK_DIV8
- SPI_CLOCK_DIV16
- SPI_CLOCK_DIV32
- SPI_CLOCK_DIV64
- SPI_CLOCK_DIV128
Возвращаемые значения
нет
Смотрите также
begin()
end()
setBitOrder()
setDataMode()
transfer()
Использование расширенных возможностей SPI на Arduino Due
Библиотека SPI
Справочник
Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.
Источник: http://arduino.cc/en/Reference/SPISetClockDivider |