Forum: Mikrocontroller und Digitale Elektronik Attiny12 und Bascom!?


von Jonathan M. (jona)


Angehängte Dateien:

Lesenswert?

Hallo,
Ich versuche gerade den Code von dieser Seite in Bascom zu kompilieren:
http://www.ledstyles.de/fpost251263.html#post251263
(Code auch im Anhang)
Aber es gibt immer eine Fehlermeldung:
Out of SRAM space

Egal ob ich selber nur eine LED leuchten lassen will,es funktioniert 
nicht!

Weiss vielleicht jemand Rat?

Gruß

von Björn M. (dunuin)


Lesenswert?

Dürfte  bedeuten dein RAM ist zu kein.

Mal versuchen weniger Variablen zu benutzen oder $hwstack und $swstack 
verkleinern.

von Jonathan M. (jona)


Lesenswert?

Erstmal danke für deine Antwort!
Aber ich habe auch das hier versucht:



$regfile = "attiny12.dat"
$crystal = 1200000
$tiny
$noramclear

Dim A As Iram Byte

Config Portb.4 = Output

Portb.4 = 0

End                                                         'end program

Aber es gibt immer den gleichen Error.
Oder liegt es an meinem µC(wegen zu kleinem RAM)??

von spess53 (Gast)


Lesenswert?

Hi

>Dürfte  bedeuten dein RAM ist zu kein.

Stimmt. Der ATTiny12 hat 0 Byte RAM.

MfG Spess

von Jonathan M. (jona)


Lesenswert?

Nachtrag:

das Dim A As Iram Byte hat hier keine Funktion!Ändert aber nichts am 
Ergebnis

von Björn M. (dunuin)


Lesenswert?

Stimmt. Ohne RAM kann man natürlich auch keinen RAM nutzen.^^

Muss es denn wirklich der Tiny12 sein? Da gibts ja genug andere 8-Pin 
AVRs mit RAM. So darfst halt keine Funktionen von Bascom nutzen, welche 
beim kompilieren so übersetzt werden, dass die da was im Ram ablegen 
wollen.
Da würde ich das Programm lieber direkt im Assembler schreiben und nur 
mit den 31 Registern arbeiten.

Mal mit...

$hwstack = 0
$swstack = 0
$framesize = 0

...versucht?

Wenn du im Programm die Werte nicht explizit angibst, dann holt sich 
BASCOM die Standardwerte aus den Einstellungen.

von Jonathan M. (jona)


Lesenswert?

Hi,

1.Leigen hier noch 2 Tiny12 rum,die ich gerne benutzen wollte
2.Hab ich mich noch nie mit Assembler auseinandergestzt(ich schäme mich 
ja schon)
3.Wieso hat es bei "denen" funktioniert und bei mir nicht??Würde mich 
mal interessiren ob der Code bei euch auch einen Error gibt...

von Jonathan M. (jona)


Lesenswert?

O.O

sorry hab jetzt mal mit


$hwstack = 0
$swstack = 0
$framesize = 0


probiert funktioniert jetzt

DANKE!!!!!!!!!

Aber Nummer 3. Bleibt immer noch fragwürdig...

von Jojo (Gast)


Lesenswert?

Hallo,
das Programm lässt sich mit BASCOM v1.11.8.7 problemlos compilieren.
Habe es gerade getestet.

von Jonathan M. (jona)


Lesenswert?

Naja habe aber auf dem Rechner hier nur die Demo[2.0.7.1]!!!????

von Jojo (Gast)


Lesenswert?

Auch mit der der läuft es problemlos. Habe es eben getestet. Ist bei dir 
die Optimierung eingeschaltet? Wenn nicht, mach einen Haken rein und 
teste nochmal.

von Björn M. (dunuin)


Lesenswert?

2.0.7.3 Vollversion meckert bei mir auch rum wegen SRAM, wenn man keine 
Kompileranweisungen bezüglich der Stackgrößen angibt.

von Jonathan M. (jona)


Lesenswert?

Ok danke,
dumme Frage: Opmtimierung??Wo schalte ich die ein,und was macht die?

von Jonathan M. (jona)


Lesenswert?

Ach übrigens @Björn:

Ich habe den Kopf des Programmes in das hier veränder,bei mir 
funktioniert es jetzt auch so:

$regfile = "attiny12.dat"
$crystal = 1000000
$noramclear
$tiny
$hwstack = 0
$swstack = 0
$framesize = 0

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
Noch kein Account? Hier anmelden.