[source]
- https://electronics.stackexchange.com/questions/241996/usb-uart-spi-difference-and-usage
- https://electronics.stackexchange.com/questions/37814/usart-uart-rs232-usb-spi-i2c-ttl-etc-what-are-all-of-these-and-how-do-th
SPI
SPI is good for embedded stuff as it is just a shift register and not much else, this allows for really fast comms (10Mbps is not uncommon even in tiny 8bit micros with and 50+ in a lot of 32bit chips). Data gets loaded into a shift register and sent out bit by bit on each clock cycle. At the other end the reverse action is performed. There are 4 pins: MISO (Master-In Slave-Out), MOSI (Master-Out Slave-In), CLK and CS (Chip Select), sometimes its the more ambiguous SDI (serial in), SDO (serial out), SCK (clock) and CE (chip enable) or some variation thereof. SPI is an internal interface, pretty much just used between chips on the same PCB. (I2C is another