S
seemanta
Guest
Salut,
J'ai observé que, après de s'endormir et de se réveiller, mon timer 0 gestionnaire d'interruption ne soit pas appelée.
Mon problème est le suivant:
Mon micro reçoit une interruption externe à chaque seconde d'une horloge temps réel.Cette interruption externe est lié à / INT0 du micro.
J'ai besoin d'allumer une LED pendant 10 secondes (alarme visuelle).J'ai calculé combien de fois timer 0 déborderait dans 10 secondes.Appelons ce chef d'accusation n '.Alors, à mon timer 0 ISR, je garde un compte combien de fois le rapport de recherche internationale a été appelée.Lorsque ce nombre correspond à 'N' je sais que 10 secondes se sont écoulées, puis je referme la LED vers le bas.
Le problème que je fais face est que si je vais éteindre le mode entre les interruptions RTC, mes LED continue de clignoter et ne s'arrête jamais.Fondamentalement le comte n 'est jamais parvenu.
Toutefois, si je décide d'aller au mode d'attente au lieu d'éteindre le mode, tout fonctionne, et mon voyant ne s'allume pas après 10 secondes.
D'une certaine façon je crois que cela est dû à l'oscillateur s'arrêtant dans power down mode et ne pas s'arrêter en mode inactif.Mais je ne suis pas en mesure de déterminer le lien exact.
S'il vous plaît quelqu'un peut-il suggérer ce qui se passe ici?Merci d'avance!
observe,
SeemantaAjouté après 2 heures 13 minutes:J'ai obtenu la cause de ce problème!Je voulais simplement partager avec le reste de la edaboard'ians.
Eh bien, puisque l'oscillateur gèle entre chaque interruption, le TH0 et registres TL0 congèlent aussi l'époque où le micro est toujours au pouvoir vers le bas.
C'est pourquoi tout cela ralentit efficacement vers le bas, car pour atteindre le nombre de «micro n'the doit consacrer plus de temps que ce qu'elle aurait passé avec l'oscillateur de fonctionner tout le temps.
Je devine, c'est la première fois que quelqu'un a posté le problème et la solution aussi bien!
Espérons que cela aidera quelqu'un à l'avenir face au même problème que
Moi aussi face!
observe,
Seemanta
J'ai observé que, après de s'endormir et de se réveiller, mon timer 0 gestionnaire d'interruption ne soit pas appelée.
Mon problème est le suivant:
Mon micro reçoit une interruption externe à chaque seconde d'une horloge temps réel.Cette interruption externe est lié à / INT0 du micro.
J'ai besoin d'allumer une LED pendant 10 secondes (alarme visuelle).J'ai calculé combien de fois timer 0 déborderait dans 10 secondes.Appelons ce chef d'accusation n '.Alors, à mon timer 0 ISR, je garde un compte combien de fois le rapport de recherche internationale a été appelée.Lorsque ce nombre correspond à 'N' je sais que 10 secondes se sont écoulées, puis je referme la LED vers le bas.
Le problème que je fais face est que si je vais éteindre le mode entre les interruptions RTC, mes LED continue de clignoter et ne s'arrête jamais.Fondamentalement le comte n 'est jamais parvenu.
Toutefois, si je décide d'aller au mode d'attente au lieu d'éteindre le mode, tout fonctionne, et mon voyant ne s'allume pas après 10 secondes.
D'une certaine façon je crois que cela est dû à l'oscillateur s'arrêtant dans power down mode et ne pas s'arrêter en mode inactif.Mais je ne suis pas en mesure de déterminer le lien exact.
S'il vous plaît quelqu'un peut-il suggérer ce qui se passe ici?Merci d'avance!
observe,
SeemantaAjouté après 2 heures 13 minutes:J'ai obtenu la cause de ce problème!Je voulais simplement partager avec le reste de la edaboard'ians.
Eh bien, puisque l'oscillateur gèle entre chaque interruption, le TH0 et registres TL0 congèlent aussi l'époque où le micro est toujours au pouvoir vers le bas.
C'est pourquoi tout cela ralentit efficacement vers le bas, car pour atteindre le nombre de «micro n'the doit consacrer plus de temps que ce qu'elle aurait passé avec l'oscillateur de fonctionner tout le temps.
Je devine, c'est la première fois que quelqu'un a posté le problème et la solution aussi bien!
Espérons que cela aidera quelqu'un à l'avenir face au même problème que
Moi aussi face!
observe,
Seemanta