I²C

I²C (Inter-Integrated Circuit) to szeregowy protokół komunikacyjny, służący do przesyłania danych między układami scalonymi na krótkie odległości. Używa dwóch linii: SDA (Serial Data Line) do transmisji danych oraz SCL (Serial Clock Line) do synchronizacji, co pozwala na komunikację wielu urządzeń za pomocą tylko dwóch przewodów. Obsługuje tryb Master-Slave, gdzie jedno urządzenie nadrzędne (Master) może sterować wieloma podrzędnymi (Slave). Każde urządzenie w magistrali I²C posiada unikalny 7- lub 10-bitowy adres, co umożliwia łatwe identyfikowanie podłączonych układów. Prędkość transmisji może wynosić od 100 kHz (Standard Mode) do 3,4 MHz (High-Speed Mode). Jest szeroko stosowany w czujnikach, pamięciach EEPROM, zegarach RTC, ekranach OLED i systemach wbudowanych. Wymaga rezystorów pull-up na liniach SDA i SCL, aby zapewnić prawidłową transmisję danych. Dzięki swojej prostocie i elastyczności jest popularnym wyborem do komunikacji między mikrokontrolerami (np. Arduino, ESP32, STM32) a układami peryferyjnymi.