MicroPython:Библиотеки/pyb/Класс SPI/SPI.init()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


SPI.init(mode, baudrate=328125, *, prescaler, polarity=1, phase=0, bits=8, firstbit=SPI.MSB, ti=False, crc=None)[1]

SPI.init(mode, baudrate=328125, *, prescaler, polarity=1, phase=0, bits=8, firstbit=SPI.MSB, ti=False, crc=None)

Инициализирует шину SPI при помощи заданных параметров:

  • mode – здесь должно быть SPI.MASTER или SPI.SLAVE.
  • baudrate – тактовая частота SCK (этот аргумент используется только ведущим устройством).
  • prescaler – это предварительный делитель частоты, используемый для расчета SCK из частоты шины APB. Использование prescaler заменяет baudrate.
  • polarity – здесь может быть «0» или «1». Это логический уровень, на котором начинается сигнал синхронизации.
  • phase – здесь может быть «0» или «1». Здесь задается, по какому фронту (переднему или заднему) сигнала синхронизации будет выполняться выборка.
  • bits – pздесь может быть «8» или «16». Это количество бит в каждом передаваемом слове.
  • firstbit – здесь может быть SPI.MSB или SPI.LSB.
  • ti – здесь задается то, какие условные обозначения будут использоваться. Если задать True, это будут условные обозначения Texas Instruments, а если False, то Motorola.
  • crc – здесь задается полином или None (чтобы выключить CRC).

Обратите внимание, что тактовая частота шины SPI – это не всегда частота, заданная в аргументе baudrate. PyBoard поддерживает только те значения baudrate, которые рассчитываются как частота шины APB (см. функцию pyb.freq()), поделенная на значение в аргументе prescaler (в нем может быть 2, 4, 8, 16, 32, 64, 128 или 256). SPI1 – это AHB2, а SPI2 – это AHB1. Поэтому, чтобы более точно задать тактовую частоту SPI-шины, используйте prescaler вместо baudrate.

Печать объекта SPI покажет рассчитанную тактовую частоту и выбранный делитель.

См.также

Внешние ссылки