aboutsummaryrefslogtreecommitdiffstats
path: root/source/lang/api/nointerrupts.rst
blob: 68f04986a520459a17d981286923f05fb017bd8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
.. highlight:: cpp

.. _lang-nointerrupts:

noInterrupts()
==============

Description
-----------

Disables interrupts.  Interrupts allow certain important tasks to
happen in the background and are enabled by default. Some functions
will not work while interrupts are disabled, and incoming
communication may be ignored. Interrupts can slightly disrupt the
timing of code, however, and may be disabled for particularly critical
sections of code.

Library Documentation
---------------------

.. doxygenfunction:: noInterrupts

Example
-------

::

    void setup() {}

    void loop() {
      noInterrupts();
      // critical, time-sensitive code here
      interrupts();
      // other code here
    }

See Also
--------

- :ref:`interrupts() <lang-interrupts>`
- :ref:`attachInterrupt() <lang-attachinterrupt>`
- :ref:`detachInterrupt() <lang-detachinterrupt>`
- :ref:`Timers reference <timers>`
- :ref:`Timer API <lang-hardwaretimer>`
- :ref:`External interrupts <external-interrupts>`

.. include:: /lang/cc-attribution.txt