Hallo, ich habe ein programm, das funktioniert beim simulieren mit avrstudio super, wenn ich die Konstanten aus dem Code lösche. Wenn ich die Konstanten hinein tue in das programm, dann geht die berechnung nicht mehr. an was kann das liegen?
Wie wäre es, wenn du mal den Quellcode hier rein schreibst?
Ok, hier mal der Code. So funktioniert die Berechnung. Mit den oberen Konstanten (die jetzt als Kommentar dort stehen) funktioniert die Berechnung nicht mehr.
Sorry, jetzt aber mit dem Code, es wäre wirklich dringend.
Also, eigentlich legt er die Konstanten nach dem Programmstart im RAM ab, ich denke, ihm geht lediglich das RAM aus.
Der Atmega hat ja 2KB RAM, ich habe knapp 40 Konstanten mit jeweils 41 char Variablen Das ergibt ca. 1,5kB Dann ist doch noch mehr als genug Platz für die paar double-Werte!
Und was ist mit char name[ANZ_BERGE][20] in der Berechnung? Diese Variable ist lokal, d.h. sie wird auf den Stack gelegt. Und der dürfte dir überlaufen. Die avr-libc hat ein strcpy_P, damit kannst du deine Daten in den Flash legen, und die Funktion kann sie dir rauskopieren. Vielleicht hat dein Compiler sowas auch.
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.