bonjour, voila j'ai configurer un timer et un oscillateur sur un pic32 afin de gérer le temps.
Je suis sur un pic32
Mon soucis est que j'ai un facteur 10 entre ma config et ce que j'ai en réel, et je ne trouve pas d'ou cela peut venir
voila ma config:
j'utilise un quartz a 8Mhz
config de l'oscillateur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 /*quartz = 8Mhz*/ #pragma config POSCMOD = HS //High speed crystal #pragma config FNOSC = PRIPLL //on utilise l'oscillateur principale avec les pll #pragma config FPLLIDIV = DIV_2//on passe de 8Mhz à 4Mhz #pragma config FPLLMUL = MUL_20 // on passe de 4Mhz à 80Mhz #pragma config FPLLODIV = DIV_1//on reste a 80Mhz #pragma config FWDTEN = OFF // on désactive le watchdog #pragma config FPBDIV = DIV_8 // PBCLK=SYSCLK/8
config de mon timer pour faire clignoter une led a un inversement d'état toutes les 1s
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #define init_TIMER3() T3CON=0x00000000;\ T3CONbits.TGATE = 0;\ T3CONbits.TCKPS = 0b111;\ -> prescaler de 256 TMR3 = 0x00;\ PR3 = 39063;\
Donc a 10Mhz, fréquence du PBCLK je devrait déclencher une interruption toute les secondes or j'en déclenche une toutes les 10
où pourrait être mon erreur? personnellement je pense que je ne suis pas à 10MHZ sur mon PBCLK mais je ne sais pas pourquoi et je n'ai pas de moyen de le vérifier.
Partager