Jag är helt ny på 18f serien och som jag förstår det så använder man inte interruppt rutinen på samma sätt här. utan man har 2 st en hög och en låg prioritets interrupt? men jag lyckas inte få det att fungera har försökt att läsa mig till det och har provat en massa, men får det verkligen inte att fungera.
använder Mplab med c18 kompilatorn
Här är min kod se om ni kan säga vad jag gör för fel. säkert massor
Till att börja med skulle du ju kunna berätta vad som är det förväntade resultatet, och vad som händer. Det går att med hjälp av din kod utröna vad som händer med PORTB, men du skriver inte om det händer något här.
Oavsett vilket så är din interrupt konstig. Du testar "temp" för olika värden, men inte någonstans inkrementeras denna variabel. Den är noll hela tiden.
hmm har inte kollat så mycket på funktionen i interruptet ännu tack vare att jag inte får den att gå in i interruptet. Gjorde lite ändringar hitta var man stängde av prioitets interruptet nu;-). hela funktionen är bara att initiera och sedan gå till while satsen som är en evighetsloop och när timern0 går overflow ska den gå in i interrupt. Typ så var det tängt att det ska fungera.
När jag stegar igenom händer något annat. När TMR0IF (alltså då jag vill att den ska hoppa till interrupt rutinen) sätts så hoppar den in i filen c018i.c av någon anledning som jag inte förstår och där händer en del grejer som t.ex att den nollställer GIE
När jag bytte till C så slutade jag använda den typen av deklarationer när det gäller konfigurationsflaggor, så det var därför jag missade det. Jag använder istället GIE = 1; T0IE = 1, osv.
Nåväl. Du har fortfarande inte ändrat koden i din interrupt, så den kommer bara att sätta PORTB till -1 en enda gång. Du vill nog lägga till en temp += 1 nånstans.
Har du byggt upp en krets kring cpu:n, eller kör du bara i simulator? Om det senare, sätt en breakpoint i interrupten.
Jag kör bara simulator! och angående deklarationen är det nog snyggare att göra som du gör ändrade lite i interrupt rutinen med, inte för att det kommer göra någon nytta om den inte hoppar in i funktionen
gött nu fungerar det gjorde lite ändringar men du löste problemet danke danke!! Du gjorde mig glad har suttit och klurat på det ett tag. jag läste lite om portarna och hittade något om LAT får kolla nogrannare på det. såhär fick jag det att fungera: