Если цель — не просто «уметь вызвать HAL_I2C_Master_Transmit()», а понимать, что физически происходит на проводах, как устроен контроллер, арбитраж, тайминги, уровни сигнала, пакеты и транзакции, я бы учился примерно в таком порядке.
Harris & Harris — Digital Design and Computer Architecture — база цифровой схемотехники.
Horowitz & Hill — The Art of Electronics — физика сигналов, уровни, помехи, линии.
Jan Axelson — Serial Port Complete — UART, RS-232, RS-485.
NXP UM10204 — официальная спецификация I²C.
Jan Axelson — USB Complete — USB.
MindShare — PCI Express System Architecture — PCIe.
T10 SCSI Architecture Model (SAM) — SCSI.
Для SPI лучше сразу читать datasheet конкретного микроконтроллера и устройства: CPOL/CPHA, тайминги, CS и частоты.