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

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

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

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

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

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

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

2 Ответы

+1 голос

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

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

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

(869 баллов) 3 32 74
0 голосов

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

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

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

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

    370 балл(ов)

  2. parovoZZ

    318 балл(ов)

  3. issaom

    214 балл(ов)

  4. gokase

    125 балл(ов)

  5. Un_ka

    117 балл(ов)

  6. dartWaiter

    72 балл(ов)

Награды месяца
1-е место: Arduino Nano 33 BLE Sense
2-е место: Arduino Nano 33 BLE
3-е место: Arduino Nano 33 IoT

...