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