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 ---
Forum général sur le langage C !

Modérateur : Jérémy

watchdog et timer
Jérémy
Administrateur du site
Administrateur du site
Messages : 2535
Âge : 42
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#21 Message par Jérémy » mer. 8 sept. 2021 21:08 lien vers la Data-Sheet : Cliquez ici

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 ! :sifflotte:

Le timer 2 :eek: :eek: :eek: :eek:

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 !
C'est en faisant des erreurs, que l'on apprend le mieux !!!

watchdog et timer
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 1959
Âge : 70
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#22 Message par paulfjujo » mer. 8 sept. 2021 21:10 lien vers la Data-Sheet : Cliquez ici

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 ?
Aides toi, le ciel ou FantasPic t'aideras

watchdog et timer
Jérémy
Administrateur du site
Administrateur du site
Messages : 2535
Âge : 42
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#23 Message par Jérémy » mer. 8 sept. 2021 21:40 lien vers la Data-Sheet : Cliquez ici

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.
C'est en faisant des erreurs, que l'on apprend le mieux !!!

watchdog et timer
satinas
Confirmé
Confirmé
Messages : 807
Enregistré en : novembre 2015

#24 Message par satinas » mer. 8 sept. 2021 21:57 lien vers la Data-Sheet : Cliquez ici


watchdog et timer
Jérémy
Administrateur du site
Administrateur du site
Messages : 2535
Âge : 42
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#25 Message par Jérémy » mer. 8 sept. 2021 22:40 lien vers la Data-Sheet : Cliquez ici

satinas a écrit :Source du message viewtopic.php?f=10&t=654

Bien vu! :+1:

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 ! oops
C'est en faisant des erreurs, que l'on apprend le mieux !!!

watchdog et timer
satinas
Confirmé
Confirmé
Messages : 807
Enregistré en : novembre 2015

#26 Message par satinas » jeu. 9 sept. 2021 06:13 lien vers la Data-Sheet : Cliquez ici

Bonjour à tous, retiens le, car dans 3 ans c'est ma mémoire qui sera passée en volatile :)


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités