[Programmation] PIC18F4550 et TIMER2
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

PIC18F4550 et TIMER2



  1. #1
    Picooz

    PIC18F4550 et TIMER2


    ------

    Bonjour à tous,

    Je tente de générer un signal (carré) avec un PIC18F4550.
    Pour ça j'utilise le TIMER2 (8bits) en interruption quand sa valeur correspond a PR2 mais je n'arrive pas a avoir cette fréquence : je passe à côté de quelque chose.
    J'ai toujours une fréquence 3x inférieure à celle que je dois obtenir.
    L'interruption inverse l'état de la pin donc la fréquence de l'interruption est deux fois plus élevé que celle du signal.

    J'utilise un quartz externe de 48mhz en laissant PR2 a 255.
    Fosc = 48Mhz/4 = 12 Mhz
    Finterruption = 12Mhz/255=~47058khz

    Quand je mesure, ça me donne une fréquence environ 7.935khz donc une interruption a 15.870khz soit presque exactement 47058khz/3...
    Si je modifie PR2, j'obtiens toujours une fréquence presque exactement 3x inférieure...

    Je vous donne une version allégé de mon programme :

    Code:
      void interrupt()
      {
            PIR1.TMR2IF = 0; //reset du flag "match"
            LATB.B0=!LATB.B0; //inversion de l'état de la pin
      }
    
      void main() {
    
        T2CON = 0x00;  //pas de prescaler ni postscaler sur timer2 
        PIE1.TMR2IE = 1; //timer2 en mode interruption quand il "match" avec PR2
    
        INTCON.GIE = 1; //activation globale des interruptions
        INTCON.PEIE = 1; //activation des interruptions des péripheriques
        
        T2CON.TMR2ON = 1; //activation du timer2
    
        TRISB = 0;
    
        do {
        } while(1);
      }
    Merci d'avance pour votre aide !

    -----
    Dernière modification par Picooz ; 01/10/2018 à 18h58.

  2. #2
    paulfjujo

    Re : PIC18F4550 et TIMER2

    bonsoir,



    Quid de la config bits ...
    PLLDIV
    CPUDIV
    ou apparaissent des diviseurs par 3 !

  3. #3
    Picooz

    Re : PIC18F4550 et TIMER2

    J'utilise en ce moment mikroC et n'ai pas mis de PLL prescaler ni de CPU prescaler. (par défaut)

  4. #4
    paulfjujo

    Re : PIC18F4550 et TIMER2

    peux-tu poster ton fichier *.cfg ou *cfgsch qui va avec ton projet ..

    nota: j'ai rarement vu des projets avec un quartz externe à 48MHz
    Dernière modification par paulfjujo ; 03/10/2018 à 19h03.

  5. A voir en vidéo sur Futura
  6. #5
    jls28

    Re : PIC18F4550 et TIMER2

    un quartz 48MHz ... ça devient à peu près 16MHz en mode fondamentale, ça explique tout.

    au delà de 30MHz y pas de quartz en mode fondamentale, ça n'existe pas.

    Si vraiment tu veux une horloge 48MHz, faut prendre un oscillateur intégré.

  7. #6
    antek

    Re : PIC18F4550 et TIMER2

    De plus, un quartz 48 MHz est hors spécifications.

  8. #7
    Picooz

    Re : PIC18F4550 et TIMER2

    Citation Envoyé par jls28 Voir le message
    un quartz 48MHz ... ça devient à peu près 16MHz en mode fondamentale, ça explique tout.

    au delà de 30MHz y pas de quartz en mode fondamentale, ça n'existe pas.

    Si vraiment tu veux une horloge 48MHz, faut prendre un oscillateur intégré.
    Effectivement, ça m'était sorti de l'esprit. Je vais revoir tout pour utiliser un quartz de plus faible fréquence. Merci
    Dernière modification par Picooz ; 04/10/2018 à 16h55.

Discussions similaires

  1. Timer2
    Par narakphysics dans le forum Électronique
    Réponses: 13
    Dernier message: 21/10/2012, 21h44
  2. [PIC] Interuption Timer2 instable ?!
    Par Seb.26 dans le forum Électronique
    Réponses: 13
    Dernier message: 22/06/2011, 15h36
  3. Problème avec le timer2
    Par invite71317231 dans le forum Électronique
    Réponses: 13
    Dernier message: 14/05/2011, 18h31
  4. Timer2 PIC16F
    Par olivier_elec dans le forum Électronique
    Réponses: 7
    Dernier message: 19/05/2010, 22h41
  5. Pic18f2525 pwm et timer2
    Par Haox dans le forum Électronique
    Réponses: 3
    Dernier message: 01/06/2009, 19h30
Découvrez nos comparatifs produits sur l'informatique et les technologies.