-         

Ergebnis 1 bis 7 von 7

Thema: Feher beim Rücksprung aus einer Sub

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    07.11.2009
    Beiträge
    9

    Feher beim Rücksprung aus einer Sub

    Anzeige

    Hallo, wer kann mir bei folgendem Problem helfen?

    Programm aus Bascom
    Problem beim Rücksprung aus einer Sub

    Klassischer Programmaufbau

    $regfile '...für ATMEGA 8
    '...Initialisierung diverser Merker, Vars ect.
    '...
    'unter anderem wird hier ein Motor ein eine Grundposition
    'gefahren
    while "motor nicht in grundposition"
    motor_fahren = on
    wend
    motor_fahren = off
    'Hauptprogrammschleife
    -------------------------------------------------------------------
    do
    debounce taster, 0, sub1
    loop
    end

    sub1
    i2cstart 'start command für I2C
    i2cwrite &h04 'ansteuerung
    i2cwrite &h00 'ansteuerung
    i2cwrite &h00 'ansteuerung
    i2cstop 'stop für I2C bus
    waitms 100 'wartezeit min 32 für beendigung der i2c-kommunikation
    call sub2
    end sub 1

    sub2
    'irgendwelche befehle
    call sub3
    end sub2

    sub3
    ...z.b. I2C um eine gegenoeration vom sub1 durchzuführen

    end sub3
    ----------------------------------------------------------------
    Alle einzelnen Subs funktionieren, nur in der Kombination habe ich das Problem, dass der MS nicht zurückspringt, es scheint fasst so als würde er von ganz von vorne anfangen.
    Ich könnte fluchen da ich schon Tage mit diesem Problem verbracht habe.
    Ich möchte eigentlich vermeiden alles in eine Routine zu packen, da es ja eigentlich für solche Zwecke Subs schreibt.
    Benötige also dringend Hilfe.
    VD

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Läuft dir da der Stack über?
    Wie gross sind denn HWStack, SoftStack und Framesize?

    Nachtrag: Häng mal die gesamte .bas + .cfg an, so dass man die mal durch den Simulator jagen kann.
    #ifndef MfG
    #define MfG

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    07.11.2009
    Beiträge
    9
    Hallo,

    das Programm ist mal beigefügt.

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    07.11.2009
    Beiträge
    9
    ... Beitrag schon Geschichte, unten geht es weiter !!

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Ich habe dir das Prog mal als PN geschickt. Wobei ich nur erstmal die Calls gegen Gosubs getauscht habe. Ob, die Subs sich jedesmal wieder gegenseitig aufrufen und so der Stapelspeicher überläuft habe ich nicht getestet. Könnte aber daran liegen.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    07.11.2009
    Beiträge
    9
    Hallo liebe Helfenden,

    mein Tag war ziemlich bes......., letztlich haben ich nur eine Erkenntnis mehr gewonnen.
    Wie es scheint hat der MC Probleme bei der Ausführung (mehrfachen) der I2C-Befehle.
    Im angefügten Programm ist das Problem z.B. das, dass das Prog die SUB Arm_zuruckfahren ausführt, dann aber nicht die SUB Wagen_hoch und zur SUB Warten kommt das Prog gar nicht.

    Ich haben auf einen Speicherüberlauf getippt aber die Stacks sind riesig, Gesamtspeicher des MC ist auch nicht ausgelastet, ich bin völlig ratlos.
    Evtl. fällt Euch ja etwas ein.

    Vorab vielen Dank und ein schönes Wochenende

    Andreas

    File: http://www.weber-textagentur.de/file

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    43
    Beiträge
    2.240
    probiers mal ohne die i2c-lib, dann per soft-i2c, pins definieren etc.
    Vor den Erfolg haben die Götter den Schweiß gesetzt

Berechtigungen

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