Pagina 1 di 1

problemi con il timer2 del pic16f876a

MessaggioInviato: 12 giu 2012, 17:27
da mpeino
sono alcuni giorni che sbatto la testa ||O senza riuscire a capire dove sbaglio .
Qualcosa mi sfugge.
Vorrei crea un onda quadra che abbia la parte positiva di 1000 us (il periodo di 2000 us).
il codice è scritto in MikroC . il quarzo è di 4 MHz.
Codice: Seleziona tutto
void main() {
TRISA =0;
TRISB=0;
TRISC=0;
OPTION_REG=0B10000000;
INTCON =0b11000000;

T2CON =0b00000101;
PIE1.TMR2IE=1;

TMR2=8;
}


void interrupt(void)
{
  if (PIR1.TMR2IF=1)
     {
  RB1_bit=RB1_bit^1;
     }
}


la forma d'onda che viene fuori non è di 1ms ma ben altro ( non ho un' oscilloscopio sto provando il tutto con REAL PIC SIMULATOR che fino a questo momento non mi ha mai deluso)

il tempo di 1 ms è del tutto arbitrario. Il prescaler utilizzato è 1:4 .
Non capisco perche con il timer0 non ho problemi e con il timer2 ce ne sono tanti . Qualcosa mi sfugge.

rigrazio anticipatamente per l'aiuto.
Massimo

Re: problemi con il timer2 del pic16f876a

MessaggioInviato: 12 giu 2012, 22:40
da matteoDL
Non sono un esperto di MikroC in quanto uso quello integrato in Mplab, ma non dovresti riazzerare il flag? oppure lo fa già da solo?

Re: problemi con il timer2 del pic16f876a

MessaggioInviato: 12 giu 2012, 22:48
da mpeino
hai ragione matteo adesso funziona.
Grazie mille.