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

Problème d'oscilalteur sur PIC16F1847
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#1 Message par Jérémy » dim. 14 mai 2017 22:43 lien vers la Data-Sheet : Cliquez ici

Bonsoir à tous,

D'habitude je ne cherche pas trop a régler l'oscillateur interne d'un PIC, car la valeur de base me satisfait.

Mais les habitudes c'est fait pour être changée non ? :sifflotte:

J'aurais aimé réglè mon oscillateur interne sur mon PIC 16F1847 ( lien de la ds en haut du post) à 32Mhz .

La DS est plutôt compliqué pour moi et je m'y perd dans cette partie.
- En page 58 vous trouverez les explications de l’oscillateur interne .
- En page 67 le registre OSCCON à réglé .

j'ai mis : OSCCON = 0b11110010 ; // Osc intene, 32Mhz, PLL enable

Ensuite je fais clignoter une LED dans un programme, mais elle clignote 4 fois moins vite que prévue !

J'ai forcement loupé une étape mais où ?

Merci à vous
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Problème d'oscilalteur sur PIC16F1847
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#2 Message par Temps-x » lun. 15 mai 2017 02:56 lien vers la Data-Sheet : Cliquez ici

Bonsoir Jérémy, et bonsoir tous le monde,

Voir page 48 à 50, le bit PLLEN doit être mis à 1, dans ta configuration de départ .

A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Problème d'oscilalteur sur PIC16F1847
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#3 Message par Jérémy » lun. 15 mai 2017 07:35 lien vers la Data-Sheet : Cliquez ici

Bonjour,

La PLL est activée dans la configuration de miKroC. Normalement c'est prit en compte !
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Problème d'oscilalteur sur PIC16F1847
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1640
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#4 Message par Gérard » lun. 15 mai 2017 08:40 lien vers la Data-Sheet : Cliquez ici

Jérémy a écrit :Bonsoir à tous,

...
Ensuite je fais clignoter une LED dans un programme, mais elle clignote 4 fois moins vite que prévue !

J'ai forcement loupé une étape mais où ?

Merci à vous


Chaque cycle machine dure 4 cycles d'horloge. C'est ça ton problème?
Comment as-tu écris le soft pour faire clignoter la LED?
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

Problème d'oscilalteur sur PIC16F1847
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#5 Message par paulfjujo » lun. 15 mai 2017 09:18 lien vers la Data-Sheet : Cliquez ici

bonjour à tous,

je suis justement en train de travailler sur des 16F1847 .. test liaisons I2C entre PIC

The 4xPLL is not available for use with the internal
oscillator when the SCS bits of the OSCCON register
are set to ‘1x’. The SCS bits must be set to ‘00’ to use
the 4xPLL with the internal oscillator..

testé OK
la config est bien à 32Mhz

Code : Tout sélectionner



 
#ifdef OSCILLATEUR_INTERNE
  OSCCON =0;
  OSCCON.IRCF3=1;         //8 MHz
  OSCCON.IRCF2=1;
  OSCCON.IRCF1=1;
  OSCCON.IRCF0=0;
  OSCCON.SCS1=0;  // internal FOSC
  OSCCON.SPLLEN=1;
  #endif
  
  
.. etc ...


   while(1)
   {
    Led_R=0;
    UART1_Write('0');CRLF1();
    Delay_ms(2000);
     UART1_Write('1');CRLF1();
    Led_R=1;
    Delay_ms(2000);
 


Timing.jpg


Config_32Mhz.jpg
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

Problème d'oscilalteur sur PIC16F1847
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1640
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#6 Message par Gérard » lun. 15 mai 2017 11:59 lien vers la Data-Sheet : Cliquez ici

Bonjour,
Paul, ce que tu dis m'interpelle. J'ai testé un 18F26K20 et la PLL fonctionne avec l'oscillateur interne. 18F26K20 page 28, on voit que c'est possible.
Pour le 16F1847 dont il est question ici, page 53, le schéma donne l'impression que ça devrait fonctionner si la fréquence interne de 8MHz est sélectionnée.
Enfin, c'est ce que je comprends.
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

Problème d'oscilalteur sur PIC16F1847
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#7 Message par paulfjujo » lun. 15 mai 2017 18:43 lien vers la Data-Sheet : Cliquez ici

Pour le 16F1847 dont il est question ici, page 53, le schéma donne l'impression que ça devrait fonctionner si la fréquence interne de 8MHz est sélectionnée.


c'est bien le cas ici .. selection 8MHz
par contre ce qui est bizarre c'est qu'il faut mettre OSCCON.SCS1 à zero,
alors que sans PLL, il faut le mettre à 1 pour avoir l'oscillateur interne
j'ai juste suivi la note encadrée de la datasheet.

j'ai bien testé avec oscillateur interne ( pas de quartz)
et FOSC designée dans le projet est bien à 32 MHz
.. ce qu est confirmé aussi par le fait que ma liaison UART est OK.

Pas si simple le reglage FOSC !

le 18F87J50 est encore plus compliqué .. avec des PLL x6 , prediviseur et postdiviseur !
le plus sur pour verifier est bien toujours de faire clignoter une led avec un delai suffisament grand pour le chronometrage visuel..
Aide toi, le ciel ou FantasPic t'aidera

Problème d'oscilalteur sur PIC16F1847
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#8 Message par Jérémy » lun. 15 mai 2017 19:36 lien vers la Data-Sheet : Cliquez ici

Bonsoir.

Désolé je cprends le temps de répondre après avoir fait un test .

:bravo: C'est Ok . effectivement le petit encadré est déstabilisant car il faut mettre à 0 le SCS et l'OSc à 8Mhz, alors que pour activer les Pll il faut le mettre à 1.

Ça fonctionne donc parfaitement et ma LEd clignote bien toute les secondes ! Je fais toujours un test si je touche à l'OSC.

Merci !
C'est en faisant des erreurs, que l'on apprend le mieux !!!


Retourner vers « Langage C »

Qui est en ligne

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