- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 6 von 6

Thema: Woher weiß ich ob mein Programm auf den Controller paßt?

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    18.03.2006
    Beiträge
    24

    Woher weiß ich ob mein Programm auf den Controller paßt?

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo Community,

    hab mal ne blöde Frage. Habe eine Programm geschrieben, daß während der Fahrt vom Asuro Werte zu den Raddrehzahlen speichert. Diese lasse ich dann im Anschluß auf dem Hyperterminal ausgeben. Jetzt hab ich gemerkt, daß wenn ich die Speichervariable zu groß mache (z.B. uint16_t Mem[200][4]) das Programm einfach nicht mehr läuft bzw. nicht nachvollziehbare Fehler aufweist. Wenn ich die Variable in ihrer Größe stark reduziere geht wieder alles. Scheinbar überschreibe ich Teile des Programms mit meinen Meßwerten. Kann sowas sein? Und woher weiß ich, ob meine Variable zu groß ist oder nicht? Ich will schon mindestens 1000 Werte in uint16_t speichern.

    lg Katja

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.07.2005
    Beiträge
    569
    Nein, du überschreibst nicht teile des Programms mit Messwerten sondern das was im RAM steht ...

    wenn deine Daten nun so groß werden, das sie den Stackpointer zum Teil überschreiben passiert genau sowas.

    BTW: Wenn du mehr zum Thema wissen willst, wirf nen Blick ins Datenblatt .

    Grüße,
    da Hanni.

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    37
    Beiträge
    4.255
    Der Mega8 im Asuro hat nur 1kB RAM. Deine 1000 Werte würden aber 2kB brauchen. Du müsstest also nen externen Speicher anschließen, wenn du so viele Daten ablegen willst...

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.07.2004
    Ort
    Münchener Osten
    Alter
    51
    Beiträge
    297
    @Katja

    Warum schließt Du nicht einfach ein IC2 EEprom an dem ATmega an.
    In dem du die Messwerte speicherst, dann geht nichts schief

    Das hat @uwegw warscheinlich auch damit gemeint.

    Wenn es extrem viele Messwerte sind kannst du auch eine SD-Karte an den SPI-Bus hängen.
    Schau mal bei http://www.ulrichradig.de vorbei.
    Unter AVR-Projekte -> MMC/SD

    Gruß MrQu

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    Zur Not gibt es noch den internen EEprom

    Gruß Sebastian
    Software is like s e x: its better when its free.
    Linus Torvald

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Wie du an die Info kommst, ob dein Programm (bzw auch die Daten) in den µC passen, ist abhängig von deiner Entwicklungsumgebung. Da du uint16_t erwähnst, rate ich mal ins Blaue du verwendest avr-gcc und die GNU-Tools.

    Dann sind avr-size und avr-nm deine Freunde. Die du an die Info kommst und was sie bedeutet ist erklärt in RN-Wissen im Artikel Speicherverbrauch bestimmen mit avr-gcc
    Disclaimer: none. Sue me.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress