А если почитать? Решение, предложенное OneWire накладывает запрет на прерывания во время формирования посылок датчикам при программной реализации протокола 1-wire. Это существенно важно, если не используется мост. Только не следует применять стандартные функции RTOS для работы с прерываниями - они рассчитаны на процессор с одним ядром, а потому "тормозят" оба. Как правильно это сделать для двухъядерного процессора - повторяться не буду - на моем сайте в разделе "Прошивки".eGorka писал(а):Уже есть OneWire адаптированная для ESP32. Вот как раз проблему "Далласов" решили, а с протоколом I2C на ESP32 полная засада, и то, что у Сергея мост отваливается, нет ничего удивительного.olmoro писал(а):... об особенностях работы "Далласов" с ESP32 ...
P.S.
Если уж выкладываете код с комментариями(у себя на сайте), то выкладывайте весь код, а то некоторые моменты непонятны. Хотя, хозяин барин, что и как делать.
Я должен помогать решать проблему с Вашим мостом? А разрабатывал эту чудо-"мать" кто?
Насчет I2C:
- а если самому почитать?serghei попробуй эту ветку, человек специально пилил I2C.
"The existing Arduino code base is reliant on the AVR's ability to infintely pause a i2c transaction. The standard coding practice ...may not function correctly with the ESP32, actually usually will not function correctly. The current arduino-esp32 platform is built upon the espressif-idf which is built on FreeRTOS ...But, alas, this creates some incompatibilities with the pre-exisiting Arduino code base."
Так не затруднитесь почитать и выполнить рекомендации, они в тех же "Прошивках". Там же есть и пример, и лог. Проверено.
Не могу комментировать Ваш неопубликованный rtemp_32.ino - но он не решает проблему, хоть и имеет в имени гордое "32".
А с "Вашим мостом" ничего помогать не надо, спасибо.
Успехов!