Espruino:Справочник по API/Глобальные методы, переменные и объекты/Функция digitalPulse()

Материал из Онлайн справочника
Версия от 18:09, 28 мая 2023; Myagkij (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция digitalPulse()[1]

Синтаксис

function digitalPulse(pin, value, time)

Параметры

  • pin – контакт, которому надо задать импульс
  • value – то, какое значение нужно задать: нулевое (LOW или False) или единичное (HIGH или True)
  • time – период в миллисекундах или массив этих периодов (в этом случае результатом функции будет прямоугольная волна, чьим начальным значением будет value)

Возвращаемое значение

Нет.

Описание

Задает контакту нулевой или единичный импульс в течение заданного количества миллисекунд. Чтобы импульсы были максимально точными, эта функция использует аппаратный таймер и вступает в действие незамедлительно (еще до завершения предыдущего импульса). Чтобы подождать выполнения предыдущего импульса, используйте digitalPulse(A0,1,0).

Например, digitalPulse(A0,1,5) задаст на контакте A0 единичное значение (HIGH) в течение 5 мс (миллисекунд), а digitalPulse(A0,1,[5,2,4]) задаст на контакте A0 значение HIGH на 5 мс, потом LOW на 2 мс и, наконец, HIGH на 4 мс.

Примечание

Если вы перед использованием digitalPulse() не поменяли режим работы контакта на вывод данных при помощи pinMode(), то digitalPulse() сделает это сама.

Функция digitalPulse() предназначена для очень точных КОРОТКИХ импульсов. Если вам нужен импульс продолжительностью более нескольких миллисекунд, лучше используйте функцию setTimeout().

Примеры

Эта функция используется в следующих статьях документации Espruino:

См.также

Внешние ссылки