aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/lang/api/interrupts.rst
blob: 58fd2cc4cc5853d913f0ee3d99b67698d0774e6c (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-interrupts:

interrupts()
============

Re-enables interrupts (after they've been disabled by
:ref:`noInterrupts() <lang-nointerrupts>`).  Interrupts allow certain
important tasks to happen in the background, and certain interrupts
are enabled by default.

Some functions will not work while interrupts are disabled, and both
incoming and outgoing 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:: interrupts

Example
-------

::

    void setup() {}

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

See Also
--------

- :ref:`noInterrupts() <lang-nointerrupts>`
- :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