PIC18F25K22, PICkit3, MPLAB-X 1.95 med XC8 V:1.21
Jag initierar systemet i vanlig ordning, portars riktning och startvärden, inget konstigt.
Sedan kör jag:
Kod: Markera allt
RCON = 0x8F; // Använd hög & låg interruptnivå
INTCON = 0x00; // Ingen interrupt nu
INTCON2 = 0x80; // Ingen interrupt här heller - och ingen pull-up på PORTB
INTCON3 = 0x00; // Ingen interrupt här heller
INTCON = 0xC0; // Tillåt hög- & lågprioritets interrupt
Kod: Markera allt
TMR1IF = false; // Rensa evt. interrupt
TMR1IP = true; // Ställ till hög interrruptprioritet
TMR1IE = true; // Tillåt Timer 1 overflow interrupt
T1CON = 0x02; // Tosc/4, 1:1, 16-bit R/W-mode, stoppad
TMR1 = 0;
T1CON = 0x03; // Tosc/4, 1:1, 16-bit R/W-mode, startad
Låter jag main-loop kolla TMR1IF kommer det i den takt - men jag kan tydligen inte slå på TMR1IE!
Min utläsning av TMR1IE ger att den är nollställd och då undrar jag: har jag missat något?
Man ska ju för böveln kunde sätta TMR1IE med det kommando. Jag har såklart testat att även OR in värdet i PIE1 (PIE1 |= 0x01;) också men med samma resultat.
Jag har nu stångad mig nära nog blodig över detta men jag har ganska klart översett något så om någon har tips är jag tacksam för dom.