Comment utiliser la minuterie de surveillance dans ATmega128

Sanju

Comment utiliser la minuterie de surveillance dans ATmega128


Je travaille avec un ATmega128 et je dois réinitialiser le microcontrôleur après environ 10 secondes et l’utilisateur n’a pas interagi avec le microcontrôleur. Par exemple, lorsque l’utilisateur n’a appuyé sur aucune touche du clavier pendant 10 secondes, le contrôleur doit être réinitialisé.

Une minuterie de surveillance est disponible dans l’ATmega128 mais je peux obtenir un délai maximum de 2 secondes avant sa réinitialisation. Mais j’ai besoin de 10 secondes.

Peut-être que je peux le faire en utilisant des minuteries mais je ne sais pas comment procéder?

Sanju

Même j’ai essayé avec le fichier d’en-tête #include <avr / wdt.h> et utilisé comme: wdt_enable (WDTO_8S); wdt_reset (); Mais pas eu de réponse par ces fonctions. Je travaille sous Linux AVR-GCC.

John U

Avez-vous vraiment besoin de réinitialiser le système ou pourriez-vous simplement redémarrer le programme par le haut?

Christoph

Pour les minuteries – voici un bon tutoriel: avrfreaks.net/…

Sanju

@JohnU: Merci pour votre réponse et en fait dans mon projet, je demande un mot de passe à l’utilisateur, s’il entre un mauvais mot de passe, il ne sera dans cette boucle que jusqu’à ce qu’il donne le bon mot de passe. Donc, ce dont j’ai besoin, c’est que si l’utilisateur n’a donné aucune entrée au contrôleur, il devrait commencer en haut du programme.

Swanand

Une autre idée: démarrer une minuterie avant d’accepter les entrées de l’utilisateur, réinitialiser cette minuterie à chaque fois que l’utilisateur saisit quelque chose … Si l’utilisateur est inactif pendant une durée donnée, la minuterie débordera … votre boucle « Accept Input »!

Réponses


 Swanand

Au lieu d’utiliser la minuterie de surveillance à cet effet,

Démarrez une minuterie avant d’accepter les entrées de l’utilisateur, réinitialisez cette minuterie chaque fois que l’utilisateur saisit quelque chose … Si l’utilisateur est inactif pendant un temps donné, la minuterie débordera … Définissez l’indicateur dans la minuterie et si cet indicateur est défini, sortez de votre Entrez « Loop!

Chintalagiri Shashank

Notez également que dix secondes, c’est long et qu’il n’est peut-être pas possible d’étirer le périphérique de la minuterie matérielle aussi loin, si vous pouvez verrouiller une minuterie précieuse et ne pas l’utiliser pour autre chose. Faire interrompre la minuterie périodiquement, disons 1 seconde ou moins, et décrémenter une sorte de compte à rebours peut être une façon plus optimale de procéder.


 SAM.D

Il est possible d’y parvenir. Utilisez le chien de garde (c’est-à-dire interne ou externe). Si son externe, vous devez vérifier sa fiche technique et sa réponse en fonction. Le chien de garde interne doit être réglé pendant 2 secondes puis réinitialisé en boucle pendant plus de 1 seconde. il est avantageux d’utiliser une minuterie dans le même but. Il suffit de reposer le chien de garde après chaque seconde et de réinitialiser le compteur du chien de garde au bout de 5 fois.

 

#de, #la, ATmega128, comment, dans, minuterie, surveillance, utiliser

 

wiki France

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *