mplab - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 33 sur 33

mplab



  1. #31
    invite93f9dd0c

    Re : mplab


    ------

    Salut!

    Je suis revenu sur mon code d'interruption et de CAN.
    J'ai donc modifié un peu mon code pour effectuer une conversion de mon signal toutes les 100 us.

    code:
    Code:
    void main (void);
    void InterruptHandlerHigh (void);
    
    //----------------------------------------------------------------------------
    // Main routine
    
    void main ()
    {
      /* Make all bits on the Port B (LEDs) output bits.
       * If bit is cleared, then the bit is an output bit.
       */
      TRISBbits.TRISB4 = 0;
    
    /* Reset the LEDs */
    //  LATBbits.LATB4 = 0;
    
    RCONbits.IPEN = 1;            //enable priority levels
    
    /* init/start timer */
    	T1CON  = 0b10000001; /*démarre TMR1, avec PreScaler = 1*/
    	TMR1L  = 248;	/* Initialise le timer pour une période de 100 us (OSC quartz = 20 MHZ) */
    	TMR1H  = 255;
        INTCON = 0x11000000;    /*activation interruptions périphériques*/
        PIE1   = 0x00000001;    /* activation interruption du TMR1 */
    
    T1CONbits.TMR1ON=1;//demarrage du timmer1;
    INTCONbits.GIE=1;	// enable int
    INTCONbits.PEIE=1;	// enable int
    
    /* Configure the ADC */
    
    /* AN0-15, VREF */
      ADCON1 = 0b00011110;
    
    /* Turn on the ADC */
      ADCON0bits.ADON = 1;
    
    /* start the ADC conversion */
    ADCON0bits.GO = 1;
    
     /* Start the ADC conversion */
      while (1)
        {  
         while (ADCON0bits.GO)
            ;
          current_ad_value = ADRES;
        }
    }
    
    //----------------------------------------------------------------------------
    // High priority interrupt vector
    
    #pragma code InterruptVectorHigh = 0x08
    void InterruptVectorHigh (void)
    {
      _asm
        goto InterruptHandlerHigh //jump to interrupt routine
      _endasm
    }
    
    //----------------------------------------------------------------------------
    // High priority interrupt routine
    
    #pragma code
    #pragma interrupt InterruptHandlerHigh
    
    void
    InterruptHandlerHigh ()
    {
      if (PIR1bits.TMR1IF)
        {                                   //check for TMR1 overflow
         
    PIR1bits.TMR1IF = 0;    /* Réactive l'interrupt sur TMR1 (afface le flag)*/
    
     TMR1L  = 248;	/* Ré-initialise timer pour une période de 100 us*/
     TMR1H  = 255;
    
     ADCON0bits.GO = 1; 
    
        }
    }
    
    //----------------------------------------------------------------------------
    Je dois maintenant effectuer une FFT de mon tableau à l'aide d'un algorithme que j'ai trouvé sur le net. Mais je sais pas ou le faire intervenir.

    Peux tu m'aider?

    -----

  2. #32
    RISC

    Re : mplab

    Salut Vede,
    Citation Envoyé par vede Voir le message
    TOsc c'est le temp d'une instruction, qui est basé sur l'oscillateur FOsc/4 du PIC...
    exemples
    @ 4Mhz : TOsc=1µs
    @ 20Mhz : TOsc=0.2µs
    Attention...tu confonds Tosc et Tcycle (et Fosc et Fcycle)

    Si Fosc = 4MHz, alors Tosc = 1 / Fosc = 250ns
    Tcycle c'est le temps d'une instruction (pas Tosc).
    Tcycle = 4 x Tosc = 250ns x 4 = 1us (car Fcycle = Fosc / 4)

    a+

  3. #33
    invite7a49d0d5

    Cool Re : mplab

    Salut RISC,

    en neffet ;O] je confondais les "dénominations"...

    merci pour toutes tes infos détaillées...

    et bonn'journée za toutes zé tous,
    vede
    ;O]
    ____________________
    ...

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. Mplab
    Par invite12de5372 dans le forum Électronique
    Réponses: 4
    Dernier message: 07/12/2009, 23h14
  2. Mplab
    Par invite70772835 dans le forum Électronique
    Réponses: 3
    Dernier message: 08/03/2008, 15h47
  3. Mplab V6
    Par invitedef0ec76 dans le forum Électronique
    Réponses: 1
    Dernier message: 21/02/2008, 22h39
  4. Mplab
    Par invite8146323e dans le forum Électronique
    Réponses: 5
    Dernier message: 18/10/2006, 22h48
  5. Mplab
    Par invite8146323e dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 18/10/2006, 14h44
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...