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:
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.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; } } //----------------------------------------------------------------------------
Peux tu m'aider?
-----