Dans ce tutoriel, je suis en utilisant un microcontrôleur Attiny85 et je veux une LED clignote à environ 1 seconde d’intervalle.
Habituellement avec Arduino et autres tutoriels blink vous utilisez juste un retard de 1 millisecondes deuxième ou 1000 pour l’activer et désactiver. Dans ce tutoriel, nous allons utiliser une fonction spéciale de la MCU qui obtiennent rarement l’attention il mérite.
LE CHIEN DE GARDE
Maintenant qui laissent le chien que vous pourriez dire, et je ris... haha...
Le chien de garde est normalement utilisé comme mesure de sécurité, pour si le MCU est dans un endroit inaccessible et il raccroche pour une raison quelconque, vous n’avez aucun moyen de réinitialiser et faire fonctionner à nouveau. Le chien de garde est donc une partie presque distincte de la MCU, il a un compte à rebours du sien (normalement un circuit RC) et un diviseur de cette horloge, maintenant qu’il n’a pas est une comparaison de la minuterie ou un moyen de définir un calendrier précis. Il n’y a seulement le dépassement de capacité.
Maintenant pour un ATtiny85, il y a 10 différents paramètres prescaling d’utiliser, de 16ms à 8 secondes (voir p.46 fiche technique pour plus de détails). Normalement, le chien de garde est utilisé pour réinitialiser le MCU, mais il peut également être définie pour exécuter une interruption.
Tout d’abord, commençons par la mise en place le chien de garde.
C’est la façon sécuritaire de la mise en place, la raison pourquoi nous faire un « nettoyage » au début est de veiller à ce que nous obtenons ce que nous voulons. statique et qui sait ce qui peut gâcher un MCU est une bonne chose à faire les choses, si vous ne voulez pas être sans danger, tout ce dont vous avez besoin est de cette ligne
Maintenant nous avons le chien de garde mis en place et ne rien faire, Eh bien pas vraiment, comme le chien de garde est une mesure de sécurité il possède certains des mouvements complexes. Dans ce cas, nous disons qu’il s’exécute un ISR chaque 500ms (environ) mais nous n’avons pas encore fait un rapport de recherche internationale pour elle, et comme je le disais cette fonction ai quelques façons complexes du fonctionnement donc lorsque l’ISR est exécuté, le chien de garde passe automatiquement du mode d’interruption pour restaurer le mode!!!
À moins que le mode d’interruption est réactivé dans la sûreté.
Donc, nous allons faire un ISR Bordier
Maintenant nous avons un rapport de recherche internationale qui permet d’inverser la LED vous avez raccordé à PORTB3 sur et en dehors par 1/2 seconde et réactive l’interruption.
N’était pas aussi facile ?
Voici le fichier complet de ch. MrBlinky.