STM32 с нуля. Интерфейс SPI.

Сегодня мы будем помогать двум микроконтроллерам подружиться с помощью SPI. Для начала обсудим, что же такое вообще SPI, а потом и программку набросаем 😉 Так вот, этот интерфейс позволяет связать между собой два и более устройств. Большой плюс SPI – большое быстродействие, так что большой объем данных улетит в легкую ) Но в SPI, в отличие, например от I2C, для подключения N устройств потребуется большое количество линий (3+N), а не 2, как в I2C. Да короче, на самом деле, есть и плюсы и минусы, как и во всем, так что идем дальше.

Существуют несколько типов подключения к шине, но в общем-то, алгоритм работы при любом подключении практически один и тот же. Ведущий генерирует тактовый сигнал с вывода SCLK и синхронно с этим сигналом передает данные по линии MOSI. В то же время подчиненное устройство передает данные в обратном направлении по линии MISO. Получается, что все сыты и довольны ) Хотя используется также подключение, при котором подчиненный только кушает байты данных, а сам ничего не шлет. А при подключении нескольких устройств возможно два варианта – независимое и каскадное. При независимом требуется больше линий, но такое подключение используется чаще.

Что же нам предлагает STM в плане SPI?
Читать далее