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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
(Новая страница: «{{Espruino/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =<ref>[]</ref>= <syntaxhighlight lang="javascri...»)
 
Нет описания правки
 
(не показано 7 промежуточных версий 2 участников)
Строка 3: Строка 3:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


=<ref>[]</ref>=
=Функция digitalPulse()<ref>[https://www.espruino.com/Reference#t_l__global_digitalPulse www.espruino.com - function digitalPulse]</ref>=


==Синтаксис==


<syntaxhighlight lang="javascript">
function digitalPulse(pin, value, time)
</syntaxhighlight>
==Параметры==
* '''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 мс]].


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


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


</syntaxhighlight>
==Примеры==
 
Эта функция используется в следующих статьях документации [[Espruino]]:
* [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/SBus#line=19,20 Система Futaba S.Bus]
* [https://www.espruino.com/Servo+Motors#line=14,26,27 Серводвигатели]
* [https://www.espruino.com/File+IO#line=44 Запись/считывание файлов и SD-карты]
* [https://www.espruino.com/pronto#line=9,10 ИК-декодер Pronto Hex]
* [https://www.espruino.com/BLE+Communications#line=73,81,85,95,100 BLE-коммуникация]
* [https://www.espruino.com/BLE+MIDI#line=6 MIDI-контроллер с помощью BLE-функции Puck.js]
* [https://www.espruino.com/BLE+Music+Control#line=8,11 Управление аудиопроигрывателем с помощью BLE-функции Puck.js]
* [https://www.espruino.com/BLE+Security#line=30,36 Режим охраны и пропускной режим с помощью BLE-функции Puck.js]
* [https://www.espruino.com/Flashing+Lights#line=69 Мигание светодиодами]
* [https://www.espruino.com/Infrared+Remote+Control#line=47,48,60 Дистанционное ИК-управление]
* [https://www.espruino.com/Interactive+Web+UI#line=175 Интерактивный пользовательский веб-интерфейс]
* [https://www.espruino.com/KeyPad+Combination+Lock#line=57 Клавиатурный замок]
* [https://www.espruino.com/KeyPad+Timer#line=47,70 Клавиатурный таймер]
* [https://www.espruino.com/Pico+Buttons#line=33,48,56,57 Подключение кнопки к Espruino Pico]
* [https://www.espruino.com/Pico+Infrared#line=62,98,100 Передача и прием ИК-сигнала с помощью Espruino Pico]
* [https://www.espruino.com/Pixl.js+Simple+Logger#line=73 Дисплейное регистрирующее устройство при помощи Pixl.js]
* [https://www.espruino.com/Puck.js+Controlling+Other+Pucks#line=14,17,21,61,67,70 Управление другими Espruino-устройствами при помощи BLE]
* [https://www.espruino.com/Puck.js+Door+Light#line=11,34 Освещение, реагирующее на открывание/закрывание двери, с помощью Puck.js]
* [https://www.espruino.com/Puck.js+Exercise+Machine#line=11,21,24 Видео, управляемое с помощью спортивного тренажера]
* [https://www.espruino.com/Single+Button+Combination+Lock#line=142 Однокнопочный замок]
* [https://www.espruino.com/Smart+Meter#line=24,104 Самодельный смарт-счетчик электроэнергии]
* [https://www.espruino.com/Software+PWM#line=13 Понимание и применение ШИМ]
* [https://www.espruino.com/Time+Lapse+Camera#line=54 Таймлапс-камера]
* [https://www.espruino.com/Water+Simulation#line=28 Симуляция физики воды с помощью серводвигателей]
* [https://www.espruino.com/Tilt+Repeater#line=12,61,68,70 Регенератор сигнала от гидрометра Tilt]
* [https://www.espruino.com/useless_box#line=51,52 Бесполезная коробка (коробка, выключающая сама себя)]
* [https://www.espruino.com/wii_remote_control_helicopter#line=16,18,19,22 Управление ДУ-вертолетом при помощи Wii Nunchuk]


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


{{ads}}
 


=Внешние ссылки=
=Внешние ссылки=
Строка 22: Строка 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:

См.также

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