ESP32_SoftWire
Программная I2C для ESP32 с битбэнгом — замена Wire без таймаутов и с поддержкой высоких скоростей
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:82726a70c92fe185f4c7068caac031fa24886f231932db19588d9ee949fdd852ESP32_SoftWire-1.0.2-82726a70.zipОписание
Если вы работаете с датчиками на ESP32, которые подключены по I2C, и при этом стандартная Wire библиотека вас подводит — это может быть решением. SoftWire реализует программную I2C на чистом битбэнге и работает как прямая замена для Wire.h. Главное преимущество: скорость до 3 МГц и отсутствие таймаутов, которые виснут весь шин при ошибке чтения. Официальная библиотека Arduino для ESP32 имеет секундный таймаут, который невозможно уменьшить без переписывания исходников — при чтении датчиков на килогерцах это может привести к пропуску тысяч выборок. Работает с ESP32, предположительно совместима с S3 и C3. Есть ограничение: поддерживаются только выводы 0–31. Подойдёт для критичных по скорости приложений, где редкая потеря одного отсчёта допустима, а зависание шины недопустимо.