Владимир Андреевич
Member
Отрабатывался алгоритм определения длительности сигнала (например, получаемого при измерении концентрации углекислоты в воздухе). Для проверки использовалась плата ESP32 DevKitC V4 с процессором ESP32-D0WD-V3 (revision v3.1). Выводящий и приемный пины соединялись на прямую. Квадратный сигнал создавался традиционно High delayMicros Low delayMicros в одном из ядер процессора, прием с заданной частотой осуществлялся в другом ядре процессора так: пропуск "1", пропуск "0", включение счетчика, пропуск "1", остановка счетчика. Созданы две программки, одно простые digital, вторая при прямой работе с пинами (DirectIo.h). Результаты абсолютно одинаковы. Полупериоды от 10000 мкс до 0 мкс определяются в целом верно. Наблюдаются отклонения 1-2 мкс.
Но полупериод 1000 мкс определяется неприемлемо. Получаются значения от 950 до 2002 мкс. Причина этого совершенно не понятна.
Но полупериод 1000 мкс определяется неприемлемо. Получаются значения от 950 до 2002 мкс. Причина этого совершенно не понятна.