Bit-banging
Программная реализация последовательного протокола: обычные выводы GPIO дёргаются в нужном темпе вместо того, чтобы доверить дело специализированной аппаратной периферии.
Если в микроконтроллере не осталось свободного блока I²C или устройство говорит на протоколе, которого периферия не знает, всю работу может сделать сам процессор: выставить на выводе высокий уровень, подождать, считать второй вывод, опустить уровень. Это работает на любой ножке и не требует драйвера, поэтому bit-banging — ответ по умолчанию для разовых задач и экзотических форматов.
Цена — процессор, занятый всё это время, и хрупкие тайминги: одно прерывание посреди бита, и байт адреса превращается в мусор. Адресуемые светодиоды вроде WS2812 с допусками в пару сотен наносекунд приучили целое поколение любителей отключать прерывания. Raspberry Pi ответила в 2021 году чипом RP2040 с PIO: крошечными конечными автоматами, которые делают bit-banging в железе, пока ядра заняты другим.