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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
 
(не показано 6 промежуточных версий 2 участников)
Строка 7: Строка 7:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript">
 
function digitalPulse(pin, value, time)
</syntaxhighlight>
</syntaxhighlight>


Строка 18: Строка 18:


==Возвращаемое значение==
==Возвращаемое значение==
Нет.


==Описание==
==Описание==
Строка 25: Строка 27:
Например, ''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()'' сделает это сама.
{{Примечание1|Если вы перед использованием ''digitalPulse()'' не поменяли режим работы контакта на вывод данных при помощи [[Espruino:Справочник по API/Глобальные методы, переменные и объекты/Функция pinMode()|pinMode()]], то ''digitalPulse()'' сделает это сама.}}
 
Функция ''digitalPulse()'' предназначена для очень точных ''КОРОТКИХ'' импульсов. Если вам нужен импульс продолжительностью более нескольких миллисекунд, лучше используйте функцию [[Espruino:Справочник по API/Глобальные методы, переменные и объекты/Функция setTimeout()|setTimeout()]].


Функция ''digitalPulse()'' предназначена для очень точных ''КОРОТКИХ'' импульсов. Если вам нужен импульс продолжительностью более нескольких миллисекунд, лучше используйте функцию 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]
Строка 60: Строка 64:
* [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]


=См.также=




=См.также=
{{ads}}


=Внешние ссылки=
=Внешние ссылки=
Строка 74: Строка 72:
<references />
<references />


{{Навигационная таблица/Espruino}}
{{Навигационная таблица/Портал/Espruino}}
{{Навигационная таблица/Телепорт}}
 
[[Категория:Функция]]

Текущая версия от 18:09, 28 мая 2023

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


Функция 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:

См.также

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