Page 1 of 1

PIC12F675 Power-Saving Sleep mode?

Posted: Fri Sep 23, 2011 1:46 pm
by tech
Bonjour, je voudrais utiliser le mode "Power-Saving Sleep mode" avec un PIC12F675, mes je ne sais pas comment réellement y parvenir.
Je cherche donc de l’aide ca serais grandement apprécier!?

Christian

Re: PIC12F675 Power-Saving Sleep mode?

Posted: Fri Sep 23, 2011 2:05 pm
by Spanish_dude
Bonjour,

Pour que le PIC se mette en mode "veille" il vous suffit de placer la fonction "sleep();" dans votre programme.
Il vous faudra ajouter un "C-code block".

Je ne suis pas certain a 100% qu'il y ai cette fonction alors si ça ne marche pas vous pourriez essayer de changer la fonction "sleep()" par "asm SLEEP".

Ensuite, il y a plusieurs possibilité pour réveiller le PIC. Par l'intermédiaire du timer1, qui, à une fréquence constante, réveillera le PIC.

/!\ Le timer0 est désactivé si le PIC se met en mode veille et est donc inutilisable pour le réveiller (voir datasheet) /!\

Sinon je pense qu'il est aussi possible d'utiliser un interrupt externe (interrupt on pin change) ou tout simplement d'utiliser le watchdog timer qui lui reset le PIC à une fréquence constante également.
Il se peut qu'il y ai d'autres méthodes, moi je ne connait que celle là.

Cordialement,

Nicolas

Re: PIC12F675 Power-Saving Sleep mode?

Posted: Tue Oct 11, 2011 2:12 pm
by tech
Bonjour Nicola,

Serait-il possible de me fournir un petit programme sous flowcode avec n'importe quel PIC, pour que je puisse avoir une idée de la structuration, car je ne parviens pas à faire fonctionne le mode sleep probablement que je nais pas bien saisi la logique?!

Merci:wink:

Re: PIC12F675 Power-Saving Sleep mode?

Posted: Tue Oct 11, 2011 5:48 pm
by tech
Voici le fichier de mon programme PIC12F675-Sleep Mode_v0.0.0. On m’a dit que je pouvais utiliser le mode Sleep et faire le réveil simplement en effectuent un rester sur la pin 5 en utilisent le MCLR, mais ça ne fonctionne pas??

Je cherche donc de l'aide ??

Merci :wink:

Re: PIC12F675 Power-Saving Sleep mode?

Posted: Tue Oct 11, 2011 7:17 pm
by Spanish_dude
Bonsoir,
tech wrote:Bonjour Nicola,

Serait-il possible de me fournir un petit programme sous flowcode avec n'importe quel PIC, pour que je puisse avoir une idée de la structuration, car je ne parviens pas à faire fonctionne le mode sleep probablement que je nais pas bien saisi la logique?!

Merci:wink:
Désolé j'ai moi-même jamais essayé le mode sleep d'un PIC. Je verrais si j'ai un 12F et essayerai de faire un programme avec sleep mode, mais je ne promets rien.
tech wrote:Voici le fichier de mon programme PIC12F675-Sleep Mode_v0.0.0. On m’a dit que je pouvais utiliser le mode Sleep et faire le réveil simplement en effectuent un rester sur la pin 5 en utilisent le MCLR, mais ça ne fonctionne pas??

Je cherche donc de l'aide ??

Merci :wink:
Normalement, reset le PIC devrait le réveiller et recommencer le programme.
Pourrais-tu uploader le fichier .C généré par Flowcode.
(J'ai Flowcode v3 et je ne peux pas ouvrir des fichiers de Flowcode v4 (ou plus))

Nicolas

Re: PIC12F675 Power-Saving Sleep mode?

Posted: Tue Oct 11, 2011 8:01 pm
by tech
Bonjour Nicolas,

Voici le fichier, Le problème on dirait que le PIC ne veut pas se mettre en mode Sleep?!

Merci pour ton aide!

Re: PIC12F675 Power-Saving Sleep mode?

Posted: Tue Oct 11, 2011 9:21 pm
by Spanish_dude
Bonsoir,

Je pense avoir trouvé ton problème.
Tes codes C (dans les blocs Code C) doivent être écrit après le "*/".

Tout se qui est écrit après un "//" et entre un "/*" et "*/" (sans guillemets) est considéré comme un commentaire et ne sera donc pas compilé / ajouté au code final.

Code: Select all

// Ceci est un commentaire sur une ligne

/*
Ceci est un commentaire
sur plusieurs
lignes
*/
Nicolas

Re: PIC12F675 Power-Saving Sleep mode?

Posted: Wed Oct 12, 2011 4:04 am
by tech
Bonsoir Nicolas,

Tu as raison mon problème était au niveau du C-Code, j'ai effectué les correctifs est ça fonctionne très bien!

Merci de ton aide! :D

Re: PIC12F675 Power-Saving Sleep mode?

Posted: Wed Oct 12, 2011 6:38 pm
by Spanish_dude
Content que le problème est résolu ;).