mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP Globale Variablen


Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab das TMS3206711DSK Board und habe mir eigene Strukturen angelegt
. Leider meckert der Compiler wenn ich die global deklarierten
Strukturen in einer anderen Datei aufrufen möchte. Das Problem habe ich
nicht wenn ich eine ganz normalen Charakter deklariere da funktioniert
es einwandfrei. Jetzt vermute ich das es irgendein  Fasching mit den
includes ist. In meiner main.h sind alle Header Files eingebunden und
jedes Headerfile auch mit #ifndef versehen. kann mir einer Helfen was
ich falsch mache



Danke
Christoph

Autor: Thomas Berger (tomb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Code wäre hilfreich...

"extern" in der Header-Datei vergessen? Struktur nicht im Header
deklariert? Glaskugel defekt? ;o)

Autor: Christoph (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas,

danke erstmal ffür die schnelle Antwort ... ja das extern hatte ich
vergessen jetzt meckert der Linker

undefined                        first referenced
 symbol                              in file
---------                        ----------------
_phase
C:\ti\myprojects\SCHALTER\Debug\interrupt.obj
>>   error: symbol referencing errors -

Hab die mal das Beispiel Header file angehangen.

Autor: Thomas Berger (tomb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und was ist "_phase"?


Ich denke du musst in deinem C-Code die variable deklarieren.
xxx.c:
phase_t _phase;

Und diese dann im Header veröffentlichen:
xxx.h:
extern phase_t _phase;

Header einbinden, dann sollte das auch klappen.

Autor: Christoph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey Thomas


super wär ich nie drauf gekommen sowohl im Header File als auch im c
File das rein zuschreiben . Vielen Vielen Dank




Grüße



Christoph

Autor: Thomas Berger (tomb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist halt etwas unschön in C, aber man gewöhnt sich daran. :o)

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.