Протокол 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
буфер. Длина буфера должна быть одинаковой.