Bonjour à tous,
Encore une question à propos de DuinOS. Je suis en train d'essayer d'utiliser un capteur température et humidité DHT11 avec DuinOS. L'acquisition des données requiert des timings précis. Comment faire pour récupérer ces données? Bloquer le reste du soft? De quelle manière?
Thibthib02:
Oui j'ai bien tenté cette technique. Ca fonctionne très bien pour le LiquidCrystal mais pas pour le DHT11.
Tout ce que tu met en section critique est exécuté de manière contigu sans qu'aucune autres taches ne puisse perturber ton morceau de code.
Si tu as mit la partie DHT11 en section critique et que cela ne fonctionne pas c'est que quelque chose ne marche pas de base, ou que tu utilise une librairie qui utilise un timer ou une interruption pour fonctionner.
delayMicroseconds n'est pas affecté par la désactivations des timers (c'est une fonction basé sur un nombre n de cycles cpu).
Pour ceux qui est de delay() ce n'est pas le "delay() arduino" mais le "delay() FreeRTOS" (base derrière DuinOS) qui est utilisé.
A mon avis même avec en zone critique delay() devrait fonctionner correctement (à tester).
Sinon :
suspendTask(le_nom_de_ton_autre_tache);
.. ton code DHT11
resumeTask(le_nom_de_ton_autre_tache);