mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Array im Eeprom nicht erreichbar


Autor: Martin Sche (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute!

Hab mal wieder ein Problem:

Ich hab in meinem Projekt(in AVR Studio) mehrer C-Files:
main und ref_drive

In der main hab ich ein Array im Eeprom erstellt:
uint16_t eearray[40][10] EEMEM;(steht in keiner Funktion drin, sondern 
frei, außerhalb)

Auf dieses möchte ich jetzt aber auch aus ref-drive zugreifen.
z.B. durch:
eeprom_write_block(&zc_array,&eearray,40*10*sizeof(uint16_t));


Dort sagt er aber, dass er eearray nicht kennt.In der main klappt das.
Wie und wo muss ich dann das array noch mal deklarieren oder geht das so 
gar nicht?


Vielen Dank!

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das geht mit einer /extern/-Deklaration:

extern uint16_t eearray[][];

Autor: Martin Sche (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ah ok. jetzt kommt der Fehler nicht mehr, aber nach wie vor eine 
Warnung:

../ref_drive.c:54: warning: passing argument 1 of 'eeprom_write_block' 
discards qualifiers from pointer target type

bei der Zeile
eeprom_write_block(&zc_array,&eearray,40*p*sizeof(uint16_t));


Den Fehler versteh ich irgendwie nicht... in der main stehts genauso, 
aber keine warnung...?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann hänge noch "EEMEM" an die extern-Deklaration an; vermutlich ist der 
Prototyp der Funktion eeprom_write_block so deklariert, daß sie einen 
entsprechenden Pointer erwartet.

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.