PIC TMR0 freki

Moczik Gabor pm at progzmaster.hu
Sun Jul 30 18:22:25 CEST 2006


Hali!

Letezik az, hogy egy 18.432MHz-en jaro PIC nem bir 25.6kHz-es TMR0 
interruptot eloallitani?
800Hz-en jo, 1.6kHz-ig meg kb. jo, 3kHz korul mar kesik, 25.6kHz-re allitva 
mar csak 19kHz a tenyleges.
Mast meg nem is csinal a szoft, de mar ez se megy, es durva az elteres.

A preload-hoz probaltam TMR0 = TMR0 + TME0_PRELOAD is, hogy kompenzalva 
legyen az a kicsi is, amennyit megy a TMR0 mire a megszakitas 
bekovetkezesetol eljut a program a preload betolteseig.

#define XTAL           18432000
#define SAMPLING_FREQ  25600
#define TMR0_PRELOAD   (256-(XTAL/4/SAMPLING_FREQ))

#pragma interrupt_level 1
static void interrupt isr_hi(void)
{
     if (TMR0IE && TMR0IF) {
         TMR0IF=0;
         TMR0=TMR0_PRELOAD;
         RA3^=1;
     }
}

void main() {

     ....
     T0CON=0b11001000;           // enabled, 8-bit, int. clock, no prescaler
}

-- 
((( Móczik Gábor  )))--((( pm -> @ -> progzmaster -> . -> hu  )))
((( Skype: moczik )))--((( Website: http://www.progzmaster.hu )))



More information about the Elektro mailing list