Forum: Mikrocontroller und Digitale Elektronik IAR workbench , array auslagern


von Dete K. (dete)


Lesenswert?

Hallo zusammen,

ich schreibe gerade ein Programm für einen Controller.
Dieser Controller braucht ein Array aus dem er Werte liest.
Da das Array fest ist, also nicht verändert wird und dazu noch ziemlich 
groß (knapp 1000 werte) ist, wollte ich das array in einer eigenen C. 
Datei auslagern. was ich auch getan hab.

Mein Problem ist nun, dass im Code nicht auf das Array zu gegriffen 
werden kann.

---------------------------- in der array.c
#include "msp430fg4618.h"

const unsigned int value[956] ={20.........

---------------------------- hab noch eine array.h
#ifndef ARRAY_H
#define ARRYA_H

#include "msp430fg4618.h"
#include <math.h>

#endif

------------------------- und in der main.c
#include "msp430fg4618.h"
#include <math.h>
#include "array.h"

...
...
DAC12_0DAT = value[i];
....

Fehlermeldung: value is undefined


vielen Dank im voraus

gruß Dete

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

In Deiner "array.h" steht Unfug.

Schreib das so:
1
#ifndef ARRAY_H
2
#define ARRAY_H  // war typo
3
4
extern const unsigned int value[];
5
6
#endif

Weder Deine "array.h" noch Deine "array.c" benötigen die von Dir 
angegebenen #include-Dateien, Du kannst sie also problemlos weglassen.

von tom (Gast)


Lesenswert?

In deiner array.h fehlt noch deine value (const unsigned int 
value[956]), damit main weiss dass es die Variable überhaupt gibt und 
der Compiler nicht mault.

tom

von dete (Gast)


Lesenswert?

vielen dank ,
da hab ich mal wider was dazu gelernt.

durch das eintragen von -extern- kommt nun diese fehlermeldung

Error[e46]: Undefined external "value" referred in main ( C:\Dokumente 
und Einstellungen............

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

dete schrieb:
> durch das eintragen von -extern- kommt nun diese fehlermeldung
>
> Error[e46]: Undefined external "value" referred in main

Dann musst Du noch "array.c" in Deine Projektverwaltung aufnehmen. 
Derzeit übersetzt der Compiler diese Datei nicht und das Ergebnis wird 
nicht zum Programm gelinkt.

von dete (Gast)


Lesenswert?

verdammt, daran hatte ich nicht gedacht,
hab die datei eingebunden und nun klappt es

vielen Dank und schonmal ein schönes WE

gruß Dete

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
Noch kein Account? Hier anmelden.