Hallo, ich habe wieder mal ein kleines Problem! weis zufällig wer,ob verschachtelte Unterprogramm Routinen in Bascom generell möglich sind?? Denn ich hab von meinen Hauptprogramm eien Gosub Sprung in ein Unterprogramm von dem ich nochmal in ein Unterprogramm springe. Seit dieser Zeit habe ich hin und wieder Probleme mit den Programmablauf und bin mir nocht ganz sicher ob das das Problem ist oder ob das ein anderes Problem sein muß. Gruß Thomas
Es geht, hängt aber von der Größe des Stacks ab. Die kannst Du selber einstellen, musst dabei aber auch an den restlichen Speicherbedarf Deines Programmes und natürlich an das verfügbare RAM Deines Controllers denken.
Hi, wie kann ich das verstehen? Ich benutze den ATmega161 und der Soft-Stack steht auf 8 und HW-Stack auf 32. und welchen Ram meinst du? den S-Ram oder X-Ram der letztere steht nähmlich auf None. Entschuldige die dummen Fragen, ich habe leider keine Erfahrung mit diesen einstellungen! Gruß Thomas
Na, sofern Du kein externes RAM an Deinen Mega161 angeschlossen hast, ist es auch gut, daß der X-RAM-Wert auf 0 steht. Das SRAM ist das im Controller eingebaute RAM. Stackgrößen von 8 bzw. 32 erscheinen mir ein wenig klein. Vergrößere diese Werte doch einmal auf -beispielsweise- das doppelte und lies' Dir durch, was das BASCOM-Handbuch zum Thema zu sagen hat.
Hallo, mich mach eigentlich nur die Report-Datei etwas tutzig und zwar ganz unten bei Warnings: ------------------------------------------------------------------------ -------- HWSTACK not used SWSTACK not used FRAME not used COMPARE0 not used COUNTER2 not used PWM2 not used BTSOLL3 not used BFSOLL3 not used STSOLL3 not used SFSOLL3 not used Ich habe schon verschiedene Einstellungen versucht, aber da ändert sich nicht viel. Ich verstehe nicht was das "not used" zu bedeuten hat? Ich habe mal die ganze Datei angehängt. Gruß Thomas
Das "not used" bedeutet wohl nur, daß niemand auf die Variablen dieses Namens zugreift. Etwas deutlich weiter oben in Deinem Report heisst es: Stack start : 45F hex Stack size : 60 hex S-Stacksize : 20 hex S-Stackstart : 400 hex Hast Du die Stackgrößen von 0x60 (96) und 0x20 (32) eingestellt? Wenn nein - das könnten die erforderlichen Stackgrößen sein.
Mein Tipp: stell erstmal alle die beiden Stacks auf 256 und den Framesize auf 16 oder 32. Wenn es dann läuft, entwickelst du zuende und setzt den Stack dann später auf Werte, bei denen das Progr. noch läuft. Je mehr Gosubs, Calls etc. desto mehr Stacks werden gebraucht. zur Ausgangsfrage: ja, mehrere Gosubs ineinanderschachteln klappt problemlos. Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.