© Jacob Beningo 2017

Jacob Beningo, Reusable Firmware Development, https://doi.org/10.1007/978-1-4842-3297-2_8

8. HAL Design for SPI

Jacob Beningo

(1)Linden, Michigan, USA

“No sensible decision can be made any longer without taking into account not only the world as it is, but the world as it will be.”

—Isaac Asimov

An Overview of SPI Peripherals

The Serial Peripheral Interface bus (SPI) is a high-speed serial bus that is commonly used to interface with external memory, sensors, and many other devices. The SPI bus at the hardware level requires the following:

  • a Master Output Slave Input (MOSI) line

  • a Master Input Slave Output line (MISO) line

  • a clock (CLK) line

  • at least a single slave select (SS) line

Every slave device that communicates with the master, ...

Get Reusable Firmware Development: A Practical Approach to APIs, HALs and Drivers now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.