www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

MikroC in PIC16F628A
Pojdi na stran Prejšnja  1, 2
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
NUFAN
Član
Član



Pridružen-a: Pon 05 Apr 2004 21:39
Prispevkov: 947
Aktiv.: 4.00
Kraj: Žalec

PrispevekObjavljeno: Pet Mar 09, 2012 11:25 pm    Naslov sporočila:   Odgovori s citatom

Tole napako si pa spregledal: Not enough RAM for call stack
_________________
Roke spadajo k telesu, ne k delu.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
NUFAN
Član
Član



Pridružen-a: Pon 05 Apr 2004 21:39
Prispevkov: 947
Aktiv.: 4.00
Kraj: Žalec

PrispevekObjavljeno: Sob Mar 10, 2012 12:06 am    Naslov sporočila:   Odgovori s citatom

Si že pogruntal?
No, da ti malo pomagam. PIC16F628A ima 8-nivojski sklad (stack), kar pomeni, da si omejen s klicanjem funkcij. Greš lahko do 8 nivojev v globino tako, da kličeš funkcijo znotraj funkcije. To je nekje Silvo v eni izmed njegovih tem "PIC - kako začeti", zelo lepo opisal in razložil Applause
Primer:
Koda:
.
.
.
funkcija1();
void funkcija1()    //skok v prvi nivo
{
   funkcija2();      //skok v drugi nivo
}

void funkcija2()
{
   funkcija3();     //skok v tretji nivo
}
.
.
.


Zdaj pa pojdi čez svoj program pa boš videl kje se zaciklaš.

EDIT: Našel sem temo. Če citiram:

Silvo je napisal/a:
Še o CALL ter RETURN:
PIC ima 8 nivojski hardverski sklad. To pomeni, da je lahko CALL v globino "vgreznjena" 8X. (v podrutinah je spet dovoljena uporaba istrukcije CALL 8X v "globino" - pa se bo program še vedno znal vrniti nazaj) Torej, če smo poklicali neko rutino z ukazom CALL se vrednost trenutnega programskega števca shrane v "sklad" Ko v tej rutini naletimo na ukaz RETURN (vrnitev) se iz sklada prebere stanje od kot je bila rutina klicanna. Vrši se skok nazaj. Program se nadaljuje v naslednji vrstici. Trajanje instrukcije CALL, GOTO ter RETURN porabi dva ukazna ciklusa. Pri oscilatorju 4Mhz je to 2uS.

_________________
Roke spadajo k telesu, ne k delu.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
JuRiii
Član
Član



Pridružen-a: Sob 06 Mar 2010 18:29
Prispevkov: 117
Aktiv.: 0.63
Kraj: Leskovec-Slov. Bistrica

PrispevekObjavljeno: Sob Mar 10, 2012 11:51 am    Naslov sporočila:   Odgovori s citatom

Nisem mogel it prej spat dokler nisem pogruntal. Ja točno tako je bilo pri C-ju pa je tak ko so knjižnice pa neveš koliko podprogramov ma sama knjižnica, no sem malo prestavljal podprograme pod main kar se je le dalo in zadeva je šla skozi. Hvala za to koristno informacijo saj sem imel včeraj bolj srečo kot znanje Very Happy.

LP, Jure
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
NUFAN
Član
Član



Pridružen-a: Pon 05 Apr 2004 21:39
Prispevkov: 947
Aktiv.: 4.00
Kraj: Žalec

PrispevekObjavljeno: Sob Mar 10, 2012 7:00 pm    Naslov sporočila:   Odgovori s citatom

Zaciklal si se s podprogramom zanka(). Ko skočiš v ta podprogram, v njem kličeš rutino meni(), nato se vrneš nazaj v zanka(). Do tukaj vse v redu, nato pa narediš nekaj stavkov, na kar sledi pogoj za tipko. Če je tipka pritisnjena skočiš še enkrat v ta isti podprogram zanka(), v katerem se pravkar nahajaš Smile
Tu bi recimo lahko uporabil skok na začetek te funkcije, pa bi bila stvar rešena brez kompliciranja Wink

_________________
Roke spadajo k telesu, ne k delu.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
JuRiii
Član
Član



Pridružen-a: Sob 06 Mar 2010 18:29
Prispevkov: 117
Aktiv.: 0.63
Kraj: Leskovec-Slov. Bistrica

PrispevekObjavljeno: Sob Mar 10, 2012 10:35 pm    Naslov sporočila:   Odgovori s citatom

Se zdaj je ta zanka() v main zanki kot je že bla na začetku sem našel rešitve ja da je lahko v main zanki. Zadeva deluje zdaj še samo malo ''šminke'' pa bo Very Happy
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
NUFAN
Član
Član



Pridružen-a: Pon 05 Apr 2004 21:39
Prispevkov: 947
Aktiv.: 4.00
Kraj: Žalec

PrispevekObjavljeno: Ned Mar 11, 2012 12:00 am    Naslov sporočila:   Odgovori s citatom

JuRiii je napisal/a:
Se zdaj je ta zanka() v main zanki kot je že bla na začetku sem našel rešitve ja da je lahko v main zanki. Zadeva deluje zdaj še samo malo ''šminke'' pa bo Very Happy


Jaz sem govoril za meni funkcijo in ne main Wink

_________________
Roke spadajo k telesu, ne k delu.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Microchip PIC Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2
Stran 2 od 2

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 492 dni


Powered by phpBB © 2001, 2005 phpBB Group