Voila, sorti des sentiers battus je me mélange les pinceaux et n'arrive plus à rien.
Étant sur mon programme Bluetooth, je cherche à placer ceci dans un PIC 12F1840 ( DS en haut de ce post).
Je bloque sur la configuration de l’interruption du TIMER1 pour obtenir un temps de 1S afin de mettre à jour le chrono/compteur.
J'ai choisi le TMR1 car sur 16 bits , mais avec un PRE-SCALER de 8 au max.
Les réglages sont différents des Timer que je connais et la configuration alentour aussi.
J'utilise un Quartz de 8Mhz externe , la Fréquence est de 32Mhz et les PLL sont activées.
Je règle donc la partie T1CON pour :
-bit7-6 à 01 =Timer1 clock source is system clock (FOSC)
-bit 5-4 à 11 = 1:8 Prescale value
-bit 3 à 0 = Dedicated Timer1 oscillator circuit disabled
-bit 2 à 0 = Synchronize external clock input with system clock (FOSC)
-bit 1 à 0 = Unimplemented
-bit 0 à 1 = TMR1ON: Timer1 On bit
La vitesse de l'INT sera de :
32Mhz / 4 = 8M d’instructions par seconde .
Pre-scaler à 8 donc 8M/8 = 1M soit 1M d’incrémentation par seconde.
Une instruction par 1µs.
Donc :
65536 - 50000= 155536 . avec un OFFSET de 15536 , j’obtiendrais une INT toute les 5ms .
Il me faudrat donc compter jusqu'a 200 INT pour avoir ma seconde ?
Pensez vous que ces bons , si mes réglages restent comme cela ?
Merci à vous


