Les Arduinos sont la plate-forme de choix pour les microcontrôleurs depuis près de deux décennies, éliminant essentiellement une grande partie de la configuration et des fonctions de niveau inférieur des petits microcontrôleurs au profit d’IDE réactifs et d’une facilité d’utilisation. Cela a ouvert des microcontrôleurs abordables aux personnes qui ne seraient peut-être pas disposées à passer des heures ou des jours enterrés dans des fiches techniques, mais cela a également obscurci certaines de ces fonctionnalités utiles de niveau inférieur. Mais si vous voulez les creuser, ils travaillent toujours sous tout comme [Jim] ça nous montre dans ce dernier d’une série d’articles sur les interruptions.

Pour ce tutoriel, [Jim] il décode les codes temporels linéaires (LTC) à différents débits. Ces données sont généralement transmises sous forme audio, de sorte que la réponse du microcontrôleur doit être rapide. Pour vous assurer que les données sont décodées correctement, la première chose que vous devez configurer est la détection de front sur le signal entrant. Puisqu’il s’agit d’utiliser spécifiquement des interruptions, une seule broche sur l’Arduino est dédiée au déclenchement d’une interruption sur ces bords. Le reste du projet consiste à configurer une routine de service d’interruption, à détecter le signal d’horloge, puis à effectuer tout le traitement nécessaire pour afficher le LTC reçu sur un petit écran.

La page du projet détaille tout cela, y compris tous les calculs nécessaires pour le configurer correctement. En ce qui concerne l’utilisation générale des interruptions, c’est une excellente base pour utiliser les fonctionnalités de niveau inférieur de ces microcontrôleurs. Et, si vous voulez voir les deux autres projets avant celui-ci, vous pouvez les trouver sur la première fonctionnalité sur la précision et l’exactitudeet le deuxième fonctionnalité sur le bitbanging du protocole lui-même.