Når nu man kun har en stackstørrelse på 8, OG man gerne vil anvende subrutiner BÅDE i hovedprogrammet OG i interruptrutinerne er konklusionen så, at man IKKE anvender call/return ?
Hvis NEJ: Hvordan F..... holder man så styr på stackens størrelse ? Findes der så en smart måde at gemme stacken på ved et interrupt ? Hvad gør man ellers ?
Hvis JA: Det bliver da noget værre rodet kode ! Hvad gør man ellers ?
Mvh KS
Didn't find your answer? Ask the community — no account required.
H
HKJ
Nej, man skriver programmet så hovedprogrammet max. anveder 6 niveauer og intr 2 niveauer.
Det er sjoverer når man kun har 3 niveauer og skal bruge subrutiner i både hovedprogram og intr.
K
KS
"HKJ" skrev i en meddelelse news:41ac89f2$0$174$ snipped-for-privacy@dtext01.news.tele.dk...
Jeg har nu nøje kontrolleret programmet, og der anvendes max 3 niveauer i hovedprogram og max 2 niveauer i interruptet.
Og vil så verificere dette med følgende:
1) sætte interruptet hhv. hovedprogrammet ud af drift
2) køre programmet 'et stykke tid' - længe nok til alt har været kørt
3) stoppe
4) se hvor mange røde adresser, der er i stack'en
Er det rigtigt opfattet, at disse røde tal viser det maximale antal niveauer, der er 'brugt' ?
HVIS dette er rigtigt - er der noget galt i interruptet, idet dette viser 4 "røde" - og vel dermed 4 niveauer !!! (er det noget med interrupt'et bliver interrupt'et ?) - Der BURDE dog stadig være plads i stack'en.
Sættes hovedprogram og interrupt i drift samtidig får jeg alligevel stackoverflow.
Hvad er det typisk begyndere laver galt her - nogen ideer ?
Mvh KS
H
HKJ
Hvor mange stack niveauer bruger du på at starte din interrupt ? Både selve intr call'et og gemmer du nogle registre på stakken?
Jeg kan ikke hjælpe dig med MPLAB da jeg ikke bruger den.
K
KS
HEJ - Er der ikke en som kender MPLAB der liiiige kan hjælpe med denne her ?
"HKJ" skrev i en meddelelse news:coktdn$ms8$ snipped-for-privacy@news.cybercity.dk...
Hvor mange ????
Jeg mener ikke jeg gemme noget på stack'en - ud over (automatisk) return adresserne
Mvh KS
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.