mikrocontroller.net

Forum: Compiler & IDEs Probleme mit Variablenplatz/Arrays


Autor: Flavio Curti (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich habe folgendes Problem (Programm anbei):
Ich habe 18 bytes die ich bitweise an 2 mal je 9 kaskadierte 4094 shift
ic's rausticker, welche dann an LEDs angeschlossen sind (PC5 & PC6).
Das funzt auch wunderbar. Jetzt mein Problem. Ich hab mir ein
Blinkenlight Movie in ein Array kovnertiert.
Zuerst hatte ich eine Variante programmiert die durch ein einzelnes
Array durchloopt (jedes Frame 18 byte, 19 frames insgesamt, ein
eindimensionales array)., von der Logik her war das einwandfrei, doch
ploetzlich hats das ganze verschoben und wieder von vorne angezeigt.
Deshalb hab ich die einzelnen Frames in eigene Variablen gesetzt, und
nochmals getestet. = dasselbe
(Frame 14 ist das erste das falsch angezeigt wird).
Wenn ich jetzt den Code sendScreen(1) ... sendScreen(13)
auskommentiere, tritt der Fehler immer noch auf.
Kommentiere ich dann auch noch die Variablen aus werden die Frames
plötzlich richtig angezeigt. Ich bin ratlos.
Hat einer eine Idee was mein Fehler ist? Ich tippe auf irgend eine
falsche Segmentierung des Speichers oder sowas in der Art... Ich
benutze avr-gcc 3.3 20030512 (prerelease)

Vielen Dank & Gruesse

Flavio

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da Du nicht schreibst, welchen Prozessor Du verwendest, kann man da kaum
was zu sagen.
Ich habe die Vermutung, daß Dein RAM vol, bzw "überfüllt" ist. Warum?
Weil Dein Movie im RAM, besser gesagt sogar auf dem Stack angelegt wird
(lokale variablen...). Versuche doch mal, die Sequenzen in den
Statischen Speicher zu legen (siehe compiler-Doku).

Gruß,
Patrick...

Autor: Flavio Curti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Patrick

Ich benutzte den Atmega8515. Ja, da bin ich unterdessen auch angelangt,
gestern waren die GNU-Seiten down, ich nehm an du denkst da an die
Funktionen von pgmspace.h?

Danke & Gruesse

Flavio

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verwende AVRs nicht, deswegen hab ich Dir "nur" den Hinweis auf
die Doku gegeben (die aber, wie ich in anderen Posts gelesen habe, auch
lokal auf Deinem Rechner sein sollte). Ich würde Dir gerne mehr dazu
sagen, aber dazu ist mein Wissensstand über AVRGCC zu gering.
Wenn Du absolut nicht weiterkommst, dann kann ich gerne auch noch mal
reingucken...

Gruß,
Patrick...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.