+1 голос
Доброго времени!

В статье http://wiki.amperka.ru/продукты:hc-sr04-ultrasonic-sensor-distance-module

Предложено таймер ожидания delayMicroseconds установить в 2 микросекунды.

А в описании функции:

Максимальное значение будет 16383, что равно 16 миллисекундам. Разрешение равно 4, то есть число будет всегда кратно четырем.

В связи с этим вопрос - будет ли работать таймер, если его значение должно быть кратно 4.

Спасибо за ответы ))
(3 баллов) 1 2

2 Ответы

+1 голос

В данном случае не обязательно вообще делать задержку. Её тут поставили для надежности. Мы просто должны были установить высокий уровень сигнала.

В официальном описании функции про кратность ничего не сказано. В примере у них тоже значение не кратное 4. 

Однако там написано, что эта функция работает точно от 3 микросекунд. Так что 2 микросекунды могут быть с погрешностью.

(925 баллов) 38 74 103
0 голосов

Будет , но уже не гарантируется, что будет пауза в 2*10^-6 с , ( скорее всего пауза будет больше):

Эта функция работает очень точно в диапазоне от 3 микросекунд и выше. Мы не можем гарантировать, что delayMicroseconds будет работать точно для меньшего времени задержки.

https://www.arduino.cc/reference/en/language/functions/time/delaymicroseconds/

(3.1 тыс. баллов) 14 20 41
Добро пожаловать на Бредборд! Сайт вопросов и ответов на тему Arduino, Raspberry Pi и хоббийной электроники в целом. Цель Бредборда — быть максимально полезным. Поэтому мы строго следим за соблюдением правил, боремся с холиворами и оффтопиком.

    За этот месяц ещё никого.

    ...