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

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

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

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

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

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

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

2 Ответы

+1 голос

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

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

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

(917 баллов) 4 55 103
0 голосов

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

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

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

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

    70 балл(ов)

  2. Un_ka

    64 балл(ов)

  3. sser

    38 балл(ов)

  4. Тигрыч

    10 балл(ов)

  5. Kiprais

    9 балл(ов)

  6. N08I40K

    8 балл(ов)

Награды месяца
1-е место: Raspberry Pi 3 Model A+
2-е место: Raspberry Pi Zero W
3-е место: Raspberry Pi Zero

...