summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chapters/input.rst26
1 files changed, 23 insertions, 3 deletions
diff --git a/chapters/input.rst b/chapters/input.rst
index f298c7a..df8a12f 100644
--- a/chapters/input.rst
+++ b/chapters/input.rst
@@ -3,12 +3,12 @@
Maintenant que nous avons vu comment contrôler les sorties de la carte Arduino,
il est temps de se poser la question d'utiliser les entrées de la carte : c'est
-par ce moyen que nous allons pouvoir donner un peu de réaction à notre robot, à
+par ce moyen que nous allons pouvoir donner de l'information au programme, à
travers des capteurs qui nous fournirons des informations sur le monde
extérieur.
-Utiliser Arduino comme ohmmètre
-===============================
+Lire une valeur analogique
+==========================
Lecture de la tension
---------------------
@@ -355,3 +355,23 @@ est détecté à proximité (±20 |cm|) :
.. -*- mode: rst -*-
.. -*- coding: utf-8 -*-
+Gérer les interruptions
+=======================
+
+Lors de la lecture d'une mesure, le programme effectue sa mesure *au moment où
+l'instruction est exécutée*. Généralement, la vitesse d'exécution du
+microcontroleur est suffisante pour lire l'information à un moment où un autre
+du cycle, mais il arrive parfois que nous souhaitions être sûr de ne manquer
+aucun évènement. Dans ce cas, l'architecture standard du programme ne
+fonctionne plus, car nous n'avons pas la garantie que toutes les informations
+seront bien traitées.
+
+
+.. admonition:: Des exemples
+ :class: note
+
+ On peut retrouver ce genre de situation dans des contrôles très bref, par
+ exemple un codeur rotatif va envoyer un "click" a chaque fois que
+ l'utilisateur fait tourner la roue, si le click n'est pas traité au moment où
+ il est émis, l'information est perdue…
+