Сравнение I2C, SPI и UART
I2C, SPI и UART — три основных интерфейса связи микроконтроллеров с периферией. Каждый имеет преимущества и недостатки. Разберём, какой выбрать для датчиков, дисплеев, памяти.
UART — самый простой
UART: 2 провода (TX, RX), до 4Мбит/с, точка-точка. Преимущества: минимум проводов, простота. Недостатки: только 2 устройства. Применение: отладка, GPS, Bluetooth.
I2C — множество датчиков
I2C: 2 провода (SDA, SCL), до 3.4Мбит/с, 127 устройств. Преимущества: 2 провода для многих устройств, адресация. Недостатки: полудуплекс, до 1м. Применение: BMP280, SHT30, EEPROM, OLED.
SPI — самый быстрый
SPI: 4+ провода (MOSI, MISO, SCK, CS), до 50+Мбит/с. Преимущества: максимальная скорость, полнодуплекс. Недостатки: 4 провода, нет ACK. Применение: SD-карты, Flash, дисплеи.
Сравнение
Провода: UART 2, I2C 2, SPI 4+. Скорость: UART 4М, I2C 3.4М, SPI 50+М. Устройств: UART 2, I2C 127, SPI не ограничено. Датчики — I2C, память/дисплеи — SPI, отладка — UART.