-         

Ergebnis 1 bis 8 von 8

Thema: STACK Problem mit BasCom ATMega32

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    19.06.2004
    Alter
    44
    Beiträge
    66

    STACK Problem mit BasCom ATMega32

    Anzeige

    Hallo zusammen,

    wer kann mit Hilfen oder Tips geben:

    Mein Programm funktioniert tadellos solange kein Interrupt aufgerufen wird. Es handelt sich dabei um INT0 (ich glaube PIN PD2).

    Die Interruptroutine wird angesprungen, dann aber wird vermutlich ein Stacküberlauf produziert: anschließend haben einige globale Variablen einen seltsamen Inhalt -> wird wohl überschrieben.

    Habe mit $HWStack schon experimentiert. "Stcheck" blick ich nicht ganz.
    Wie kann ich überprüfen wie ich $HWStack, $SWStack und $Frame richtig setzen muss?

    Gibt es ein Beispiel dazu wie ich ermitteln kann wie ich die Konstanten setzen muss? Die Onlinehilfe zu Bascom hilft mir nicht richtig weiter.

    Danke!

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Ich habe ein ziemliches Programm-Monster. Die Werte sind geschätzt (wahrscheinlich zu groß), aber ich hab keine Probleme

    Stacksize=128 HW
    Framesize=16 Frame
    Sstack=256 Soft

    versuch's mal damit, bis dir einer bessere Zahlen liefert.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.09.2004
    Beiträge
    124
    Hallo.

    Stacksize=128 HW
    Framesize=16 Frame
    Sstack=256 Soft
    Warum werden eigentlich 2 Stacks verwendet?
    Und wichtiger, wann wird welcher verwendet.

    Bei Framesize herrscht bei mir völlige Dunkelheit was das Wissen um die Funktion angeht. Was sind Frames und wofür werden sie verwendet?

    Kann jemand Licht ins Dunkel bringen?

    Ciao,
    Werner

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Die Sache mit dem Stack ist prinzipiell schon klar ?
    bei jedem "CALL" oder interrupt wird der Stackpointer dekrementiert und die return-addresse reingeschrieben (PUSH). Bei return holt er sich das und inkrementiert den stackpointer wieder (POP)
    Das wär mal der HW-Stack.
    Den Soft-Stack braucht der Bascom, um "local" daten wo hinzuschreiben und für einen Call die Parameter abzulegen. Sonst funktioniert das Ähnlich.
    FRAME braucht er temporär für div. daten-konversionen.

    Also je Call und interrupt, desto HW-Stack
    je call-parameter und local data, desto SW-Stack
    je string<->binär conversion, desto Frame

    logo ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.09.2004
    Beiträge
    124
    Hallo PicNick,

    > Also je Call und interrupt, desto HW-Stack
    > je call-parameter und local data, desto SW-Stack
    > je string<->binär conversion, desto Frame

    Thanks!

    Ciao,
    Werner

    Steht das irgendwo in der Bascom Help und ich war nur zu blöd zum finden?

  6. #6
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Zitat Zitat von Werner_Just
    Steht das irgendwo in der Bascom Help und ich war nur zu blöd zum finden?
    Schon. Aber ich hätt das SO nicht gesagt

    (mach dir nix draus, es ist übungssache das zu finden, was man sucht)
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.09.2004
    Beiträge
    124
    Hallo PicNick,

    > es ist übungssache das zu finden,
    leider wahr!

    'Options Compiler Chip' und keinerlei Link bei $Framesize, $HWStacksize ... grummel
    Search IDE, IDE Options, wie im Text erwähnt -> auch kein Result in Options Comp...

    'Übungssache' trifft das Auffinden von Informationen in der Bascom Help wohl am besten

    Ciao,
    Werner

  8. #8
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Ich hab bei "Help" mal alles angeschaut, was mit "ST" beginnt und irgendwie nach Stack klingt. Bin dann auf "STCHECK" gestoßen.
    Allerdings lese ich gerne, oft und wiederholt Dinge nach, auch wenn sie mir klar scheinen und ich sie mir garnicht merke. Aber dadurch kriegt man "Hyperlinks" im Hinterkopf zusammen ("da war doch was")
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •