Протокол SPI

Модуль spi позволяет вам общаться с устройством, подключенным к плате, используя шину последовательного периферийного интерфейса (SPI). SPI использует master-slave - архитектура с одним мастером. Вам нужно будет указать соединения для трех сигналов:

  • SCLK : тактовый сигнал .

  • MOSI : Master Output, Slave Input (Ведущий передает, Ведомый принимает).

  • MISO : Master Input, Slave Output (Ведущий принимает, Ведомый передает).

Функции

microbit.spi.init(baudrate=1000000, bits=8, mode=0, sclk=pin13, mosi=pin15, miso=pin14)

Инициализировать связь SPI с указанными параметрами на указанные pin. Обратите внимание, что для правильной связи параметры должны быть одинаковыми на обоих взаимодействующих устройствах.

baudrate определяет скорость общения.

bits определяет размер передаваемых байтов. В настоящее время только bits=8 поддерживается. Однако это может измениться в будущем.

mode определяет комбинацию тактовых часов и фазы согласно следующему соглашению, с тактом в качестве старшего бита и фаза как младший бит:

SPI Mode

Polarity (CPOL)

Phase (CPHA)

0

0

0

1

0

1

2

1

0

3

1

1

Полярность (также известная как CPOL) 0 означает, что часы находятся на логическом значении 0 в режиме ожидания. и становится высоким (логическое значение 1), когда активен; полярность 1 означает, что часы на логическом значении 1 в режиме ожидания и становится низким (логический 0) в активном состоянии. Фаза (он же CPHA) 0 означает, что выборка данных производится по переднему фронту тактового сигнала, и 1 означает на задней кромке (viz. https://en.wikipedia.org/wiki/Signal_edge).

Аргументы sclk, mosi и miso определяют контакты, которые будут использоваться для каждый тип сигнала.

spi.read(nbytes)

Читать не более nbytes. Возвращает прочитанное.

spi.write(buffer)

Запишите буфер байтов на шину.

spi.write_readinto(out, in)

Запишите буфер out на шину и прочитайте любой ответ в in буфер. Длина буфера должна быть одинаковой.