9 C
Paris
jeudi 11 décembre 2025

Derniers articles

Lancement du multitâche Arduino

Multitâche Arduino

L’équipe officielle d’Arduino a annoncé cette semaine l’introduction de ” expliquez l’équipe d’Arduino aimerait connaître votre avis sur la finalisation de la nouvelle fonctionnalité multitâche d’Arduino. Dans le but ultime de définir une API standardisée pouvant être portée sur toutes les architectures.

Multitâche Arduino

“Avec les capacités accrues d’Arduino et d’autres cartes de microcontrôleur, y compris des horloges plus rapides ou même plusieurs cœurs, la nécessité de gérer plusieurs tâches simultanément se fait plus souvent que par le passé. Par exemple, vous souhaitez souvent contrôler des moteurs, mettre à jour un affichage et détecter les interactions des utilisateurs en même temps, ou effectuer des tâches qui ont un timing différent ou attendre des événements externes.

La manière traditionnelle de le faire est d’écrire du code non bloquant afin que la fonction loop() puisse s’exécuter aussi vite que possible, en mettant à jour les variables d’état et en appelant la fonction millis() pour assurer un timing correct (voir l’exemple “Blink without delay” pour apprendre plus). Cette approche conduit cependant à un code gonflé, difficile à déboguer et à maintenir, et ne prend pas non plus en charge plusieurs cœurs.

La bibliothèque Scheduler permet déjà d’écrire du code de manière plus propre en divisant l’esquisse en plusieurs fonctions de boucle, afin que chacune puisse se concentrer sur une tâche spécifique. Cependant, cette approche s’appelle le multitâche coopératif, ce qui signifie que vous devez toujours éviter de bloquer vous-même les commandes. De plus, il ne prend pas en charge plusieurs cœurs et même s’il le faisait, il ne vous empêche pas d’accéder aux mêmes variables à partir de plusieurs threads. Enfin et surtout, il est basé sur le paradigme traditionnel de la “boucle occupée”, qui n’aide pas vraiment pour les applications à faible consommation d’énergie où vous souhaitez que les threads se reposent autant que possible en attendant un événement ou des données entrantes.

La source : UN B

Derniers articles

Les plus consultés