Forum: Mikrocontroller und Digitale Elektronik "Var." wird in Atmel Studio nicht erkannt


von abc (Gast)


Lesenswert?

hallo leute,

kann mir vllt jemand verraten weshalb folgende Var. in Atmel Studio 
nicht erkann wird?

uint16 abc EEMEM;

habe diese hier zusätzlich in der .h datei hinzugefügt
#if ! defined (EEMEM)
#define EEMEM _attribute_ ((section (".eeprom")))
#endif /* EEMEM */

und es geht trotzdem nicht :-/

von g457 (Gast)


Lesenswert?

> nicht erkann wird?

..das liegt in erster Linie daran dass Du uns die zugehörige 
Fehlermeldung vorenthältst. Ich ∗vermute∗ es hängt mit Deinem uint16 
(nicht _t) zusammen. Genaueres wüsste die Glaskugel, aber die ist grad 
in der Spülmaschine.

Nix für ungut.

von abc (Gast)


Lesenswert?

das interessante an der ganzen Sache ist, dass ich keine Fehlermeldung 
kriege. Ich habe das daran erkannt, dass abc schwarz geschrieben war, 
falls dir das was sagt :) normalerweise sollte abc in blauer Schrift 
geschrieben sein..

ich habe das folgendermaßen gemacht:


uint16 abc [] EEMEM;

jetzt ist zwar die Schrift blau, ich weiss aber nicht ob das so wirklich 
richtig ist...

von blödmann (Gast)


Lesenswert?

bei mir ist abc gelb

von blödmann (Gast)


Lesenswert?

...mal abgesehen davon, musst du geld bezahlen, wenn du den Compiler 
anwirfst?

von ratemal (Gast)


Lesenswert?

ich behaupte mal ganz frech, dass dir der compiler den code um die ohren 
werfen wird...

von Karl H. (kbuchegg)


Lesenswert?

abc schrieb:
> das interessante an der ganzen Sache ist, dass ich keine Fehlermeldung
> kriege. Ich habe das daran erkannt, dass abc schwarz geschrieben war,
> falls dir das was sagt :) normalerweise sollte abc in blauer Schrift
> geschrieben sein..

Wen interessiert den schon die Farbe, die irgendein Editor anhand 
irgendwelcher Regeln dem Text verpasst, den du eingibst?

Ob du korrektes C schreibst oder nicht, entscheidet
* der Sprachstandard ISO-C
* der C-Compiler, der sich deinen Text anhand der Sprachregeln vornimmt.


Textfarben sind Schall und Rauch. Nice to Have. Mehr aber auch nicht. 
Was kommt als nächstes: Wir tanzen Variablennamen?
Ja, sei die Variable! Sei eine Variable im Wind!

von abc (Gast)


Lesenswert?

maaan was für unfreundliche antworten.. ihr seid alle so gestresst sehe 
ich chillt mal ein bisschen, ist doch alles halb so wild :D

von Daniel F. (df311)


Lesenswert?

> #if ! defined (EEMEM)
ist (für jeden halbweg normalen präprozessor) falsch -> #ifndef

über uint16 wurde auch schon gerätselt

und eine frage nach einem fehler aufgrund des syntax highlightning des 
editors ist irgendwie - ääh - komisch. man kann einem editor beibringen 
alles farbig zu machen oder auch gar nichts, das ändert aber nichts am 
code den man verbricht.

-> bei fehlermeldungen des compilers oder linkers kann man eher helfen 
(wenn alle informationen vorhanden sind) als bei der hervorhebung von 
keywords in zwei code-snippets von denen eines gar nicht funktionieren 
kann (s.o.)

von abc (Gast)


Lesenswert?

Dass ihr euch so SEHR auf die Farbe fixiert habt finde ich echt mal ne 
interessante Denkweise, es ist doch schnurze piepe wie die Farbe nun 
aussieht, Ziel war eigentlich damit klar zu machen, dass wenn mein 
Editor die Var. schwarz anzeigt, nicht vom Compiler erkannt wird, mehr 
eigentlich nicht. Hätte ich gewusst, dass ihr solch einen aufstand macht 
würde ich das niemals zu Wort bringen. schwarz, rot, grün spielt doch 
überhaupt keine Rolle, hier geht es ums Prinzip und nicht um die Farbe 
:))
Aber nichts desto trotz bedanke ich mich natürlich ganz herzlich dafür, 
dass ihr mir geantwortet habt.

P.S.: nimmt mal nicht alles allzu ernst, sonst werdet ihr noch früh alt. 
Das Leben ist viel zu schön und BUNT, um sich über "eintönige Farben" 
Gedanken zu machen ;)

von abc (Gast)


Lesenswert?

übrigens habs gerade getestet mit ifndef bleibt der Fehler bestehen also 
ist meine Lösung wahrscheinlich dann doch richtig..
also uint16 abc [] EEMEM;

von Karl H. (kbuchegg)


Lesenswert?

abc schrieb:
> Dass ihr euch so SEHR auf die Farbe fixiert habt finde ich echt mal ne
> interessante Denkweise, es ist doch schnurze piepe wie die Farbe nun
> aussieht, Ziel war eigentlich damit klar zu machen, dass wenn mein
> Editor die Var. schwarz anzeigt, nicht vom Compiler erkannt wird, mehr
> eigentlich nicht. Hätte ich gewusst, dass ihr solch einen aufstand macht
> würde ich das niemals zu Wort bringen. schwarz, rot, grün spielt doch
> überhaupt keine Rolle, hier geht es ums Prinzip und nicht um die Farbe
> :))

Eben. Und genau das ist der springende Punkt.
Wenn etwas syntaktisch nicht richtig ist, dann mäkelt es der Compiler 
an. Der wirft eine Fehlermeldung aus. Und DIE ist interessant.

Ob dein Editor irgendetwas schwarz, rot, gold, grün hinmalt oder nicht, 
ist auf der anderen Seite aber sowas von egal und interessiert keinen. 
Aus dem, ob der Editor irgendwas färbig macht oder nicht, kann man nix 
ableiten. BZw. es interessiert keinen. Wenn dein Compiler eine 
Fehlermeldung gibt, dann poste die! Mit DER (und mit dem Code) kann man 
arbeiten. Aber nicht damit, ob deine IDE irgendwas grün schreibt oder 
nicht.

von wird nicht angezeigt (Gast)


Lesenswert?

du hast den Sinn immer noch nicht begriffen sehe ich gerade -.-
Also nochmal: mein Compiler hat KEINE Fehlermeldung ANGEZEIGT!!!!
Sonst würde ich es ja posten ODER??????
Ich habe es nur durch die Farbe erkannt, weil ich weiss, wenn eine 
Variable richtig deklariert wurde wird Sie durch den Editor blau 
angezeigt!!! stimmt was an der Deklaration nicht wird Sie schwarz 
angezeigt, daher die Farbenangabe!!!!
Ich gehe mal davon aus, dass ihr noch keine Erfahrungen mit Atmel Studio 
6 hinter euch gebracht habt, sonst würdet ihr ja wissen wovon ich rede 
oder??
Diese Entwicklungsumgebung hat macken ohne Ende!!!
Die meisten Fehlermeldungen werden garnicht angezeigt. Man muss evtl. 
selbst drauf kommen

von Cyblord -. (cyblord)


Lesenswert?

wird nicht angezeigt schrieb:

> Diese Entwicklungsumgebung hat macken ohne Ende!!!
> Die meisten Fehlermeldungen werden garnicht angezeigt. Man muss evtl.
> selbst drauf kommen

Genau, über die Farbe des Syntaxs nämlich. Also ich bin ja nun kein 
Freund des Atmel Studios, aber Compilermeldungen werden da schon 
angezeigt. Also, wie sag ichs? Es liegt an dir. Nicht am Studio, nicht 
am Compiler. An dir.
Dein Code ist nachweislich falsch und wird zwangsläufig Fehler 
produzieren, falls du ihn mal kompilierst. Warum du vermeintlich keine 
solcher Meldungen siehst, bleibt wohl dein Geheimniss. Entweder du hast 
ein wichtiges Fenster nicht offen oder du kompilierst gar nicht.

gruß cyblord

von Noname (Gast)


Lesenswert?

Ist doch klaaar, das das nicht klappt. Bei deeer Mondphase.
Meine Güte.

von abc (Gast)


Lesenswert?

cyblord ---- schrieb:

> Dein Code ist nachweislich falsch und wird zwangsläufig Fehler
> produzieren, falls du ihn mal kompilierst. Warum du vermeintlich keine
> solcher Meldungen siehst, bleibt wohl dein Geheimniss. Entweder du hast
> ein wichtiges Fenster nicht offen oder du kompilierst gar nicht.
>
> gruß cyblord

hahaha ja schon klar, ich kompiliere nicht... oh man
weshalb werden dann andere Fehler angezeigt und diese nicht?? Ich 
arbeite schon seit längerem mit dieser Entwicklungsumgebung und ich 
finde, dass ich weiss wovon ich rede. Aber nur weil du noch nicht auf 
diesen Fehler von Atmel Studio gestoßen bist, brauchst du mir nicht die 
Schuld zu geben. Und ich habe schon so einiges erleben müssen. Aber wem 
sage ich das...

von Noname (Gast)


Lesenswert?

Also das sollten wir mal klarstellen:

Erhälst Du überhaupt keine Fehlermeldungen beim kompilieren dieses 
Projektes?
Oder erhälst Du nur keine in Bezug auf diese Datei?
Oder zwar welche in Bezug auf diese Datei, aber davor? Danach?

von Simon K. (simon) Benutzerseite


Lesenswert?

Wenn du beim Kompilieren keine Fehlermeldungen erhälst, hast du auch 
keinen (syntaktischen) Fehler.
So einfach ist es.

von abc (Gast)


Lesenswert?

Noname schrieb:
> Also das sollten wir mal klarstellen:
>
> Erhälst Du überhaupt keine Fehlermeldungen beim kompilieren dieses
> Projektes?
> Oder erhälst Du nur keine in Bezug auf diese Datei?
> Oder zwar welche in Bezug auf diese Datei, aber davor? Danach?

ich habe in dem Projekt schon Fehler erhalten ja, aber dass diese eine 
Var. nicht erkannt wurde, hat der Compiler nicht angezeigt. Nachdem ich 
die Fehler, die angezeigt wurden aufgehoben habe, habe ich nochmals auf 
den button "compilieren" gedrückt. Da sah alles ok aus. Wenn man aber 
auf compilieren drückt, wird ja der Button solange deaktiviert bis es 
compiliert wurde. so dann habe ich ne halbe ewigkeit drauf gewartet, 
dass der compiler button wieder aktiviert wird ging aber nicht, somit 
habe ich mir den Code näher angeschaut, und bin drauf gekommen, dass 
gewisse pins, die in einer anderen Entwicklungsumbegung anders 
geschrieben wurden auch nicht als fehler angezeigt werden aus welchem 
grund auch immer. Und somit habe ich alle var. geprüft, ob auch wirklich 
alle erkannt wurden und bin dann drauf gekommen, dass es nicht der fall 
war. Dies wird NICHT vom Compiler als Fehler angezeigt!!!

von Simon K. (simon) Benutzerseite


Lesenswert?

abc schrieb:
> ...

Du schreibst vielleicht einen Stuss zusammen. Aus deinem Gestammel lässt 
sich nicht mal annähernd vermuten, was bei dir das Problem sein könnte.

Ansonsten eben:

Simon K. schrieb:
> Wenn du beim Kompilieren keine Fehlermeldungen erhälst, hast du auch
> keinen (syntaktischen) Fehler.

von abc (Gast)


Lesenswert?

Simon K. schrieb:
> Wenn du beim Kompilieren keine Fehlermeldungen erhälst, hast du auch
> keinen (syntaktischen) Fehler.
> So einfach ist es.

schön wärs, wenns wirklich so einfach wäre!
Aber ärgerlich, wenns am Ende nicht funktioniert -.-

von Dietrich L. (dietrichl)


Lesenswert?

abc schrieb:
> Und somit habe ich alle var. geprüft, ob auch wirklich
> alle erkannt wurden und bin dann drauf gekommen, dass es nicht der fall
> war.

Dumme Frage: wie siehst Du, ob sie "erkannt" wurden?

Gruß Dietrich

von Knalltüte (Gast)


Lesenswert?

wird nicht angezeigt schrieb:
> du hast den Sinn immer noch nicht begriffen sehe ich gerade -.-
> Also nochmal: mein Compiler hat KEINE Fehlermeldung ANGEZEIGT!!!!
> Sonst würde ich es ja posten ODER??????
> Ich habe es nur durch die Farbe erkannt, weil ich weiss, wenn eine
> Variable richtig deklariert wurde wird Sie durch den Editor blau
> angezeigt!!! stimmt was an der Deklaration nicht wird Sie schwarz
> angezeigt, daher die Farbenangabe!!!!
> Ich gehe mal davon aus, dass ihr noch keine Erfahrungen mit Atmel Studio
> 6 hinter euch gebracht habt, sonst würdet ihr ja wissen wovon ich rede
> oder??
> Diese Entwicklungsumgebung hat macken ohne Ende!!!
> Die meisten Fehlermeldungen werden garnicht angezeigt. Man muss evtl.
> selbst drauf kommen

Schon mal auf die Idee gekommen, dass dir evtl. ein Header fehlt und 
somit dein Editor (ich nehgme an du hast in ihm ein Projekt definiert) 
die Referenz nur einfach nicht auflösen kann?

Wenn Compiler/Linker alles fressen, was hast du denn überhaupt für ein 
Problem?

Warum probierst du nicht das Naheliegenste: Führe den Code aus und 
teste, ob er das tut, was du wolltest.

Nichts für ungut, du machst ein Theater wie eine Jungfrau vorm ersten 
Mal und pöbelst dann auch noch rum. Das sind Sitten!

von Ingo (Gast)


Lesenswert?

Selbes Problem hatte ich auch, deine Syntax ist falsch. Versuch mal 
uint16_t . Das war bei mir n ganz dummer Schreibfehler. Hast du die 
Variable im Header extern? Wenn ja guck mal ob alles gleich geschrieben 
ist.


Ingo

von abc (Gast)


Lesenswert?

Dietrich L. schrieb:
> abc schrieb:
>> Und somit habe ich alle var. geprüft, ob auch wirklich
>> alle erkannt wurden und bin dann drauf gekommen, dass es nicht der fall
>> war.
>
> Dumme Frage: wie siehst Du, ob sie "erkannt" wurden?
>
> Gruß Dietrich


s.o.

von Ingo (Gast)


Lesenswert?

Achso, mach mal -Werror an...

von Patrick (Gast)


Lesenswert?

Könntest Du bitte einmal Dein PROBLEM beschreiben? - Zumindest mir 
erschließt sich nämlich nicht einmal annähernd, worin genau das Problem 
besteht bzw. WAS Du eigentlich bezwecken willst...

Dass es Dir nicht um die Einfärbung in der IDE zu gehen scheint, haben 
wir jetzt IMHO geklärt. Aber um was geht es dann bitte?
Ich persönlich halte es ja z. B. so, dass ich versuche, meinen Code so 
zu schreiben, dass der Compiler eben gerade NICHT Fehlermeldungen 
auswirft. Du bekommst keine Fehlermeldung - was ist das Problem?

Bitte präzise und eindeutig beschreiben:

- WAS hast Du programmiert (vollständiger (!) Sourcecode (als Anhang 
(!))
- WELCHES Verhalten (z. B. des Compilers) wurde erwartet
- WELCHES Verhalten wurde tatsächlich beobachtet (Fehlermeldungen, 
Screenshots etc.)
- WELCHE Tools wurden benutzt (IDE, Compiler, Betriebssystem, 
Mikrocontroller, Versionsstände etc.)

Dann kommen wir hier vielleicht auch irgendwann einmal weiter.

von Noname (Gast)


Lesenswert?

Ich muss auch sagen, das Deine Einlassungen nicht gerade erkennen 
lassen, das Du Dir klar darüber bist, was relevant ist und was nicht.

Wenn ich Dich frage, ob Du Fehlermeldungen erhälst, will ich nicht 
prüfen ob Deine Umgebung an sich Fehlermeldungen erzeugt oder irgendwann 
mal erzeugt hat. Ich bin sicher das sie das tut. Sondern ich will wissen 
ob _bei dem Projektstand mit dem Du ein Problem hast Fehler gemeldet 
werden_.

Man kann Deine Antwort wohl so deuten, das dies nicht der Fall ist.

Aber anstelle dessen bekommen wir nun eine neue Einzelheit serviert. Und 
zwar die, das der Button der das Compilieren startet, bei Betätigung 
deaktiviert und nicht mehr aktiviert wird. Das suggeriert, dass das 
Compilieren oder Linken oder sonst ein Teilprozess nicht beendet wird, 
denn bei Beendigung, was die IDE an der Terminierung des Compilers 
merken sollte, sollte auch der Button wieder aktiviert werden.
Du hast also primär ein ganz anderes Problem.

Das wiederum führt mich zu meiner einleitenden Aussage, das Du nämlich 
garnicht weisst was überhaupt Sache ist.
Aber nun kann ich noch eine zweite Aussage hinzufügen. Die, das Du Dir 
irgendwas zusammendeutest anstatt die reale Situation als gegeben zu 
nehmen.
Und drittens, das Du uns, die wir Dir helfen sollen diese realen 
Gegebenheiten vorenthälst (dank welcher Einsicht in unsere Unfähigkeit 
diese zu deuten, ist mir absolut schleierhaft) und stattdessen Deine 
Deutung der Realität präsentierst.
Und viertens, das Du unser ungläubiges Staunen zum Anlass nimmst uns 
über die Notwendigkeit des "chillens" aufzuklären. Ein Hochmut und eine 
Unverschämtheit zu denen Dich, meiner Ansicht nach, weder Dein Talent 
noch Deine Erfahrung berechtigen.

Also wieder zur Sache:

Du musst untersuchen, ob und welcher Prozess sich nicht beendet. Optimal 
wäre wenn Du die von der IDE verwendete Kommandozeile(n) resp. das 
Makefile hier postest.
Wie lange wartest Du, wenn der Button deaktiviert wird?

Die hier vorgebrachten Einwendungen wegen uint16_t anstelle von uint16 
solltest Du in jedem Fall berücksichtigen.

von abc (Gast)


Lesenswert?

Wenn man keine Ahnung hat sollte man den Mundwerk halten bzw. seine 
dummen Kommentare für sich behalten!

naja ab sofort werde ich nicht mehr schreiben, weil es hat einfach 
keinen Sinn!! Hab keine Zeit für leute, die langeweile haben und mich 
hier ärgern wollen statt weiterhelfen!!!!

von Ingo (Gast)


Lesenswert?

So? Ich hab dir einen ernstgemeinten Tip gegeben. Wenn du aber nicht 
willst...


Ingo

von abc (Gast)


Lesenswert?

Ingo schrieb:
> So? Ich hab dir einen ernstgemeinten Tip gegeben. Wenn du aber nicht
> willst...
>
>
> Ingo

tut mir leid, das habe ich nicht gesehen. Wie macht man -Werror an?

von Ingo (Gast)


Lesenswert?

Irgendwo in den Compiler Settings unter Miscelinous glaube ich

von Simon K. (simon) Benutzerseite


Lesenswert?

abc schrieb:
> Wenn man keine Ahnung hat sollte man den Mundwerk halten bzw. seine
> dummen Kommentare für sich behalten!
>
> naja ab sofort werde ich nicht mehr schreiben, weil es hat einfach
> keinen Sinn!! Hab keine Zeit für leute, die langeweile haben und mich
> hier ärgern wollen statt weiterhelfen!!!!

abc schrieb:
> maaan was für unfreundliche antworten.. ihr seid alle so gestresst sehe
> ich chillt mal ein bisschen, ist doch alles halb so wild :D

Tja, wie man in den Wald hineinruft...

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.