Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
watchdog et timer
-
Jérémy
Administrateur du site- Messages : 2722
- Âge : 44
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Bon, je vais laissé comme pour le moment, car j'avoue que je sature un peu. Je vais essayé d'avancer sur le reste pour me décontracter lol.
En tout cas ca à l'air de fonctionner a peu prêt. je suis pas serein pour autant !
Le timer 2
Il faut avoir la globalité du projet. En gros. Le module est en veille la plupart du temps, il se réveille donc pendant 300ms toutes les 2 secondes.
Quand j'allume mon écran pour piloter ma domotique ( donc pour piloter cette carte), j'envoie une trame qui dure 2.5 secondes; histoire de m'assurer de tomber pendant quelle est réveillée.
Donc quand je recois une infos lors d'une phase de réveil , je bloque la mise en veille toutes 300ms pour passer sur une nouveau timer qui dure 3 secondes.
Mon écran m'envoie toutes les secondes une ligne de vie, faisant comprendre à ma carte quelle doit rester éveiller tant que l''écran maitre est allumé.
La ligne de vie permet de remettre à zéro le timer2. Quand l’écran s'éteint, il n'envoie de ligne de vie, donc timer 2 n'est pas reseter ; au bout de 3 secondes il passe donc le module en veille, et rebascule sur une tempo à 300ms.
Oui mais que viens le faire le timer 1 la dedans. Le timer 1 sert a limiter certaines action, par exemple le temps maximal pour fermer le volet piscine, car il n'y a pas de fin de course !
En tout cas ca à l'air de fonctionner a peu prêt. je suis pas serein pour autant !
Le timer 2
Il faut avoir la globalité du projet. En gros. Le module est en veille la plupart du temps, il se réveille donc pendant 300ms toutes les 2 secondes.
Quand j'allume mon écran pour piloter ma domotique ( donc pour piloter cette carte), j'envoie une trame qui dure 2.5 secondes; histoire de m'assurer de tomber pendant quelle est réveillée.
Donc quand je recois une infos lors d'une phase de réveil , je bloque la mise en veille toutes 300ms pour passer sur une nouveau timer qui dure 3 secondes.
Mon écran m'envoie toutes les secondes une ligne de vie, faisant comprendre à ma carte quelle doit rester éveiller tant que l''écran maitre est allumé.
La ligne de vie permet de remettre à zéro le timer2. Quand l’écran s'éteint, il n'envoie de ligne de vie, donc timer 2 n'est pas reseter ; au bout de 3 secondes il passe donc le module en veille, et rebascule sur une tempo à 300ms.
Oui mais que viens le faire le timer 1 la dedans. Le timer 1 sert a limiter certaines action, par exemple le temps maximal pour fermer le volet piscine, car il n'y a pas de fin de course !
watchdog et timer
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonsoir Jeremy et Satinas ,
j'ai lu quelque part que MikroC ne necessitait pas de definir les variables utilisées dans une interrupt en tant que volatile ..
obligatoire avec MPLABX XC8 ...
J'ai eu l'occasion de tester le Reveil d'un PIC 12F1840 en mode sleep , via la reception d'un caractere "break" sur UART ...
je ne sais pas si dans ton cas ça pourrait servir ?
j'ai lu quelque part que MikroC ne necessitait pas de definir les variables utilisées dans une interrupt en tant que volatile ..
obligatoire avec MPLABX XC8 ...
J'ai eu l'occasion de tester le Reveil d'un PIC 12F1840 en mode sleep , via la reception d'un caractere "break" sur UART ...
je ne sais pas si dans ton cas ça pourrait servir ?
watchdog et timer
-
Jérémy
Administrateur du site- Messages : 2722
- Âge : 44
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Hello Paul,
Merci pour ces infos sur les volatiles je suis en train de tester ca . Mais c'est vrai que depuis le temps que je programme je n'ai jamais utiliser les volatiles ! mais il n'y a pas d'âge pour apprendre.
Le réveil du PIC par UART n'est pas utile dans mon cas.
Car le module radio passe en veille et c'est lui qui communique en UART. il consomme 9mA en réception sinon.
C'est vrai que je pourrais me passer de mettre le PIC en sommeil sur cette carte, car elle est alimentée par le secteur et le PIC ne consomme pas grand chose à 0.5Mhz. Quand je serais sur pile se ne sera pas la même chose.
Merci pour ces infos sur les volatiles je suis en train de tester ca . Mais c'est vrai que depuis le temps que je programme je n'ai jamais utiliser les volatiles ! mais il n'y a pas d'âge pour apprendre.
Le réveil du PIC par UART n'est pas utile dans mon cas.
Car le module radio passe en veille et c'est lui qui communique en UART. il consomme 9mA en réception sinon.
C'est vrai que je pourrais me passer de mettre le PIC en sommeil sur cette carte, car elle est alimentée par le secteur et le PIC ne consomme pas grand chose à 0.5Mhz. Quand je serais sur pile se ne sera pas la même chose.
watchdog et timer
watchdog et timer
-
Jérémy
Administrateur du site- Messages : 2722
- Âge : 44
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
satinas a écrit :Source du message viewtopic.php?f=10&t=654
Bien vu!
A priori après moultes tests passer la variable F_Sleep qui est modifiée un peu partout résous le problème comme il faut.
Tu m'as donc sauvé une deuxième fois avec une variable volatile !
a dans trois ans pour me sauver encore avec une volatile, ou bien cela va me servir de leçons et je vais retenir ca !
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 44 invités