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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
Строка 25: Строка 25:
Например, ''digitalPulse(A0,1,5)'' задаст на контакте ''A0'' единичное значение (HIGH) в течение [[5 мс]] (миллисекунд), а ''digitalPulse(A0,1,[5,2,4])'' задаст на контакте ''A0'' значение HIGH на [[5 мс]], потом LOW на [[2 мс]] и, наконец, HIGH на [[4 мс]].
Например, ''digitalPulse(A0,1,5)'' задаст на контакте ''A0'' единичное значение (HIGH) в течение [[5 мс]] (миллисекунд), а ''digitalPulse(A0,1,[5,2,4])'' задаст на контакте ''A0'' значение HIGH на [[5 мс]], потом LOW на [[2 мс]] и, наконец, HIGH на [[4 мс]].


'''Примечание:''' Если вы перед использованием ''digitalPulse()'' не поменяли режим работы контакта на вывод данных при помощи [https://www.espruino.com/Reference#l__global_pinMode pinMode()], то ''digitalPulse()'' сделает это сама.
'''Примечание:''' Если вы перед использованием ''digitalPulse()'' не поменяли режим работы контакта на вывод данных при помощи [[Espruino:Справочник по API/Глобальные методы, переменные и объекты/Функция pinMode()|pinMode()]], то ''digitalPulse()'' сделает это сама.


Функция ''digitalPulse()'' предназначена для очень точных ''КОРОТКИХ'' импульсов. Если вам нужен импульс продолжительностью более нескольких миллисекунд, лучше используйте функцию setTimeout().
Функция ''digitalPulse()'' предназначена для очень точных ''КОРОТКИХ'' импульсов. Если вам нужен импульс продолжительностью более нескольких миллисекунд, лучше используйте функцию [[Espruino:Справочник по API/Глобальные методы, переменные и объекты/Функция setTimeout()|setTimeout()]].


Эта функция используется в следующих статьях документации Espruino:
==Примеры==
 
Эта функция используется в следующих статьях документации [[Espruino]]:
* [https://www.espruino.com/Pixl.js+Multicolour#line=66,68 Pixl.js с многоцветными светодиодами]
* [https://www.espruino.com/Pixl.js+Multicolour#line=66,68 Pixl.js с многоцветными светодиодами]
* [https://www.espruino.com/RobotPCB#line=61 Робот при помощи Espruino Pico]
* [https://www.espruino.com/RobotPCB#line=61 Робот при помощи Espruino Pico]
Строка 59: Строка 61:
* [https://www.espruino.com/useless_box#line=51,52 Бесполезная коробка (коробка, выключающая сама себя)]
* [https://www.espruino.com/useless_box#line=51,52 Бесполезная коробка (коробка, выключающая сама себя)]
* [https://www.espruino.com/wii_remote_control_helicopter#line=16,18,19,22 Управление ДУ-вертолетом при помощи Wii Nunchuk]
* [https://www.espruino.com/wii_remote_control_helicopter#line=16,18,19,22 Управление ДУ-вертолетом при помощи Wii Nunchuk]


=См.также=
=См.также=

Версия от 19:28, 19 ноября 2020

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


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

Синтаксис

Параметры

  • 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:

См.также

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