OneWirePIO_RP2040
Аппаратное ускорение 1-Wire и DS18B20 на Raspberry Pi Pico через PIO-копроцессор без влияния на CPU
Установка
Последняя опубликованная версия- Скачайте архив — реестр отдает его уже проверенным.
- В Arduino IDE выберите «Скетч → Подключить библиотеку → Добавить .ZIP библиотеку».
- Укажите скачанный файл — библиотека появится в списке доступных.
SHA-256:f651b5927ab7f9e8471ba4e152d04bb7ee9df6fe6e818da78a33bd92e65462b6OneWirePIO_RP2040-1.0.0-f651b592.zipОписание
Для Raspberry Pi Pico эта библиотека решает главную проблему работы с DS18B20 — вытаскивает все критичные по времени операции 1-Wire протокола в железный PIO-копроцессор и забывает о них. Никакого битового бита-banging, никаких прерываний, никакого влияния нагрузки на CPU. Читаешь температуру детерминированно, без дрожания по времени, даже если Wi-Fi stack или другие задачи отправили процессор в запой.
Поддерживает сразу несколько датчиков на разных пинах, варьируемое разрешение от 9 до 12 бит, проверку контрольной суммы каждого считывания и вывод в Цельсиях, Фаренгейтах или Кельвинах. Код тонкий — всего 27 инструкций PIO, ресурсы отпускаются автоматически. Нужен лишь DS18B20, резистор подтяжки 4,7 кΩ и сама Pico или Pico W.