Hallo, ich schreibe gerade eine Steuerung mit BASCOM und habe viele Integer-Variablen (0-32xxx), wieviele kann ich eigentlich verwenden unter BASCOM ? Chip : Mega 16 bzw. 32 ! Kann man Speicherbereiche dafür freigeben und wie läuft das ? Gruss A. Arndt
Auch unter Bascom sollte es eine Report-Datei geben, die die Auslastung anzeigt. Ansonsten hängt es davon ab, ob die Variablen global oder lokal sind. Lokale Variablen kann man viel mehr verwenden, als physisch SRAM vorhanden ist. Ich hab z.B. auf nem AT89C4051 etwa 200 Bytes Variablen gehabt, obwohl nur 128 Bytes SRAM drin sind. Ich kann allerdings nur C, kein Bascom. Peter
Hallo, wie kann den Variablen denn ersehen, ob global oder lokal, ich gebe den DIM-Befehl als Integer an im Startbereich meines Programms, da ich viele ADC auslese mit 10-Bit-Auflösung, , und wo finde ich die Report-Datei? Gruss A. Arndt
>DIM-Befehl als Integer an im Startbereich Das werden dann vermutlich globale Variablen sein. Integer haben übrigens einen Wertebereich von 16 Bits. Das führt zu Zahlen zwischen 0 und 65535 oder -32768 bis 32767. >wo finde ich die Report-Datei steht sowas nicht im Handbuch zu Bascom?
Wenn Du die Variablen am Programmanfang angibst, dann sind sie global und Du kannst etwa soviele Anlegen wie Du RAM hast.
>Du kannst etwa soviele Anlegen wie Du RAM hast.
Ohne Stack wird das vielleicht so sein...Sobald eine Sub-Routine
aufgerufen wird, sind es ca. 40 Bytes weniger...
>Ohne Stack wird das vielleicht so sein...Sobald eine Sub-Routine >aufgerufen wird, sind es ca. 40 Bytes weniger... 40 Bytes sind bei 1KB RAM 4%. Das ändert also nichts an meiner Aussage. Und wenn er alle Variablen global hält ist er sicher auch kein Funktionen-Fetischist. Markus
Hallo, also wären das dann ca. 1000 Stück abzgl. ver chipinternen Speicherzellen... Gruss A. Arndt
Eine 16-Bit-Integer hat 2 Byte, d.h. bei 1KB RAM sind das 500 Variablen und bei 2KB RAM eben 1000. Wie groß der Stackbedarf ist hängt davon ab, wie viele Variablen Du in einer Funktion benutzt und ob Du von einer Funktion aus weitere Funktionen benutzt. Die Bascom-Funktionen brauchen natürlich auch noch ein bischen Speicher. Markus
Hallo, aber 100 Integer Variablen wären ja kein Problem... Gruss A. Arndt
> Hallo, > aber 100 Integer Variablen wären ja kein Problem... > Gruss > A. Arndt war das jetzt eine Frage oder eine Fesstellung?
Ich kenne ja Deinen Programmierstil nicht, aber vermutlich sind 300 oder 400 kein Problem auf einem Mega16.
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.