Hallo Leute, ich habe das Problem das sich mein Programm nicht für den tiny13 compilieren lässt, jedesmal kommt die Fehlermeldung "Error : 242 Line : 20 Source variable does not match the target variable [ 200] , in File : C:\Users...\Fotograf_zufall_v1-attiny13.bas" damit ist wohl der Auszug Z = rnd(100) gemeint. Ich habe das Programm auf einem mega8 entwickelt und getestet, hier läuft alles, allerdings soll es nicht auf einen mega8 sondern auf den tiny13. Was kann ich hier tun das es Fuktioniert? Gruß, shorty
Hi, habe das Problem nun umgangen, ich verwende nun einen Timer als zufallszahlgeber. Kann man bei einem Tiny13 keine Variablen erzeugen??? bei mir erscheint jedesmal wenn ich eine Variable vom typ byte oder integer erstellen möchte die fehlermeldung out of SRAM space.... egal wie viel code ich im programm stehen habe... Wer kann mir hier weiter helfen?
shorty schrieb: > Ich habe das Programm auf einem mega8 entwickelt Das Wort "entwickelt" würde ich dafür als Übertreibung betrachten :D 1) Lies Dir in der Hilfe den Teil zu Eram Variablen durch, welche Beschränkungen die besitzen und vielleicht siehst Du dann auch, warum es völlig unsinnig ist, im gezeigten Code das EEProm für eine Arbeitsvariable zu verwenden. 2) Wenn die 64 Bytes SRam bereits im HW/SW Stack & Frame draufgehen, was soll dann noch für Variablen über sein ? Also sparsamer damit umgehen.
shorty schrieb: > Kann man bei einem Tiny13 keine Variablen erzeugen??? bei mir erscheint > jedesmal wenn ich eine Variable vom typ byte oder integer erstellen > möchte die fehlermeldung out of SRAM space Doch. Natürlich kann man das. Aber der Tiny13 hat gerade mal 64 Byte RAM, der Atmega8 hingegen 1K. Dein Speicher ist einfach voll. Deshalb kannst du keine weiteren Variablen anlegen. Denn das ist ja nichts anderes, als das Reservieren von Speicherplatz im RAM. shorty schrieb: > egal wie viel code ich im programm stehen habe... Das ist davon völlig unabhängig. Hier hast du Grenze schon erreicht: >$hwstack = 32 >$swstack = 8 >$framesize = 24 Verstehe zwar nichts von Bascom, aber ich denke das sind Speicherallozierungen. Das sind zusammen 64 Byte. Controller mit derart mickrigem Speicher sollte man nur in Assembler programmieren, wo man Herr über jedes Byte ist. Oder keine Unterprogrammaufrufe und Interrupts verwenden. Dann kann man auf den Stack, der bei dir ja schon die Hälfte des verfügbaren RAM ausmacht verzichten. Noch besser aber einen anderen Controller mit mehr RAM nehmen, z.B. Attiny 25/45/85 mfg.
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.