I2C/UART/SPI/CAN to other STM32 MCU,which is faster?

I want to sent image data to other STM32 MCU,which method would be faster?

SPI bus is the fastest.


Hi…as per my knowledge It depends on your total requirements.I2C only needs two pins, but it’s slow and to handle it with or without interrupts is a pain, even with the build in peripheral modules. It’s a master/slave system, it’s good for controlling many slow devices like temp sensors.Only two lines for all bus devices, the selection is done via an I2C-Address in the protocol.Uart needs two pins, it’s normally faster, easier to handle, but requires the same clocks at both sides. One to one asynchronous system, can be good if both systems needs to be send sometimes data without waiting for a master poll request.Can also be used as a bus system, but then you need a master/slave structure or more complex protocols.SPI needs 3 (or 4 with CS) pins, it’s the fastest, simple to implement even with DMA, low cpu time overhead, often buffered.

pcb manufacturing