Pic Horloge interne + externe - truc zarbi

  • Auteur de la discussion Lnx2051
  • Date de début
L

Lnx2051

Apprenti
Bonjour,

est ce que l'on peut utiliser l’oscillateur interne 8Mh d'un Pic pour une chose ( timer1 par ex) tout en utilisant un quartz pour cadencer le pic ?

Je génére une interruption de temps par débordement du timer1 (toutes les 20 ms ) à partir de l'horloge interne mais j'ai des trucs bizarres sous Mplab quand je simule :
- Le temps varie si je modifie l'horloge parametrée sous mplab
- La fréqence en sortie du prédiviseur ne correspond pas à celle parametrées ...

y a t-il une astuce avec mplab ou .. il y aurait une mdr kke part ?

le Pic est un 18F2520


Cdlt
Ln
 
A

afouille

Apprenti
Bonjour,

Si on configure le timer sur horloge interne, le timer comptera à la fréquence de l'horloge interne divisé par 4. Cette horloge interne est celle qui cadence le µC.
Il ne faut par la confondre avec l'oscillateur interne (RC à 8Mhz).
On peut configurer la source de l'horloge interne sur l'oscillateur interne, ou sur un oscillateur ou horloge externe.
Mais effectivement, si on configure l'horloge interne sur un oscillateur externe, il n'est plus possible d'utiliser l'oscillateur interne comme source pour les timer.

Antoine
 
L

Lnx2051

Apprenti
pour infos :
// configure le TIMER1
OpenTimer1( TIMER_INT_ON & T1_8BIT_RW & T1_SOURCE_INT & T1_PS_1_8 & T1_OSC1EN_OFF & T1_SYNC_EXT_OFF & T1_SOURCE_CCP);

// configure le mode comparaison sur le TIMER1 avec IT sur CCP1 T3CONbits.T3CCP2=0;
CCP1CON=0x0B;

CCPR1H=0x30; // égalité après 125000 périodes de 1.6µs (20mS)
CCPR1L=0xd4;

PIE1bits.CCP1IE=1; // active IT sur mode comparaison CCP1

RCONbits.IPEN=1; // Interruption prioritaires activées
INTCONbits.GIE=1; // Toutes les IT démasquées autorisées

ce qui donne une it toutes les 20 ms avec un quartz de 20 Mhz sur un Pic 18F2520

Cdlt
Ln
 
Haut