Forum: Compiler & IDEs Compiler Error | Atmel Studio 7 | was ist denn da los? kein PORT-PIN0 (PB0) mehr möglich


von AtmelStudio7 (Gast)


Angehängte Dateien:

Lesenswert?

#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
  DDRB=0xff;

    while (1)
    {
      PORTB|=(1<<PB0);
    }
}


dieser Code wirft folgenden Compilererror aus (s. Anhang).

Dies passiert beim setzen von PB0, welcher mir auch nicht mehr 
vorgeschlagen wird (lediglich PB1-7 stehen zur Auswahl). Alle anderen 
PORT-PINS lassen sich von 0-7 setzen.

Ich habe an den Einstellungen der IDE nichts verändert. Atmel Studio 7

Kennt jemand dieses Problem und kann mir eine Lösung geben?

von Max D. (max_d)


Lesenswert?

Richtigen AVR-Typ gewählt ?

von AtmelStudio7 (Gast)


Lesenswert?

ja. Mehrmals überprüft. Das ganze läuft auf einem ATMega8

von AtmelStudio7 (Gast)


Angehängte Dateien:

Lesenswert?

hier die genannte Auswahl bei der PB0 fehlt.

von Bernd K. (prof7bit)


Lesenswert?

Klick doch mal auf eins der lilafarbenen Defines und lass Dich von der 
IDE zu dessen Deklaration führen und schau ob Du dann tatsächlich im 
richtigen Header für Mega8 landest oder doch irgendwo anders.

von Thomas E. (thomase)


Lesenswert?

Gestern gings noch?

Mach mal was Funktionierendes und guck, ob die iom8.h bzw. iom8a.h 
eingebunden wird.

von AtmelStudio7 (Gast)


Lesenswert?

Thomas E. schrieb:
> Gestern gings noch?
>
> Mach mal was Funktionierendes und guck, ob die iom8.h bzw. iom8a.h
> eingebunden wird.

ja gestern habe ich noch erfolgreich damit gearbeitet.

Wenn du mir sagst wo ich das nachschauen kann, werd ichs mal überprüfen.

von Arduinoquäler (Gast)


Lesenswert?

AtmelStudio7 schrieb:
> Wenn du mir sagst wo ich das nachschauen kann, werd ichs mal überprüfen.

Rechte Maustaste auf PB0 klicken -> goto implementation.

Ich würde mir aber eher wegen der ersten Fehermeldung
Sorgen machen (recipe for target maino. failed).

von Arduinoquäler (Gast)


Lesenswert?

AtmelStudio7 schrieb:
> ja gestern habe ich noch erfolgreich damit gearbeitet.

Bei mir compiliert das unter Studio 7 einwandfrei.

Zeige mal einen Screenshot deines Projekt Trees bzw Solution Trees.

von Erwin D. (Gast)


Lesenswert?

Arduinoquäler schrieb:
> Ich würde mir aber eher wegen der ersten Fehermeldung
> Sorgen machen (recipe for target maino. failed).

Ja, deshalb sollte man auch die Fehlermeldungen von oben nach unten 
abarbeiten. Die weiter unten stehenden Fehler sind dann oft 
Folgefehler...

von Arduinoquäler (Gast)


Lesenswert?

AtmelStudio7 schrieb:
> Ich habe an den Einstellungen der IDE nichts verändert. Atmel Studio 7

Glaub ich nicht.

Mach ein neues Projekt in einer neuen Solution auf
(GCC executable Project) und kopiere deine Zeilen in das dir
dargebotene leere main hinein.

Wenn das nicht funktioniert ist wirklich was kaputt oder
du machst schon beim Anlegen des Projekts irgendeinen
Fehler. Das sollte dann compilierbar sein.

von Bernd K. (prof7bit)


Lesenswert?

Erwin D. schrieb:
> Arduinoquäler schrieb:
>> Ich würde mir aber eher wegen der ersten Fehermeldung
>> Sorgen machen (recipe for target maino. failed).
>
> Ja, deshalb sollte man auch die Fehlermeldungen von oben nach unten
> abarbeiten. Die weiter unten stehenden Fehler sind dann oft
> Folgefehler...

Von oben nach unten bedeutet die Fehler in der Reihenfolge wie sie im 
Konsolenlog auftauchen, nicht in der formatierten aufbereiteten 
Fehlerliste die in Post#1 abgebildet ist.

das Target main.o ist offensichtlich gescheitert WEIL beim Kompilieren 
der main.c der PB0 nicht gefunden wurde. Hier steht also die Wirkung 
über der Ursache, eben weils nicht die rohe Ausgabe ist sondern eine 
formatierte aufbereitete und nach Farben sortierte Liste.

von Erwin D. (Gast)


Lesenswert?

Bernd K. schrieb:
> Von oben nach unten bedeutet die Fehler in der Reihenfolge wie sie im
> Konsolenlog auftauchen, nicht in der formatierten aufbereiteten
> Fehlerliste die in Post#1 abgebildet ist.

Meinst du, daß das Studio die Reihenfolge der Ausgaben ändert?
Ich habe oft die Erfahrung gemacht, daß sich nach der Beseitigung des 
ersten Fehlers meist die folgenden Fehler auch verschwanden. Deshalb 
nahm ich an, daß das die gleiche Reihenfolge ist.

Aber ich werde mal drauf achten und die Reihenfolge in der Konsole mit 
der Fehlerliste vergleichen...

von Arduinoquäler (Gast)


Lesenswert?

Bernd K. schrieb:
> das Target main.o ist offensichtlich gescheitert WEIL beim Kompilieren
> der main.c der PB0 nicht gefunden wurde.

Ist korrekt, ich hab es nachvollzogen.

Bei fehlerhaftem Port Token kommt danach die Fehlermeldung

recipe for target 'main.o' failed

AtmelStudio7 schrieb:
> Kennt jemand dieses Problem und kann mir eine Lösung geben?

Ich schlage vor du trägst für PB0 erst mal PB1 ein, dann

Arduinoquäler schrieb:
> Rechte Maustaste auf PB0 klicken -> goto implementation.

und trägst in der iom8.h das Fehlende define wieder ein mit

#define PB0  0

iom8.h dann speichern und Studio anweisen einen neuen Build
zu machen.

von Bernd K. (prof7bit)


Lesenswert?

Erwin D. schrieb:
> Meinst du, daß das Studio die Reihenfolge der Ausgaben ändert?

Naja, das sieht mir so aus als ob da in der Spalte mit dem Symbol eine 
Sortieroption aktiv ist, auf jeden Fall zieht der alle Fehler und 
Warnungen aus dem Log und packt sie in diese Liste die dann evtl. nach 
irgendwas sortiert werden kann.

Wenn man die Compile-Optionen so einstellt daß bei jedem Fehler sofort 
abgebrochen wird (-Wfatal-errors) (und was ich auch ganz gerne mache 
alle Warnungen als Fehler (-Werror) bis auf ein paar Ausnahmen 
(-Wno-error=) und somit bei Warnungen ebenfalls sofort abbrechen) dann 
hält sich die Liste der Fehler stets in Grenzen und man wird eigentlich 
fast immer sofort mit der Nase auf das ursächliche Problem gestoßen.

von MaWin. (Gast)


Lesenswert?

Arduinoquäler schrieb:
> und trägst in der iom8.h das Fehlende define wieder ein mit
>
> #define PB0  0

Und warum fehlt es? Was fehlt noch?
Neuinstallation ist fällig, wenn da einfach so was fehlt.

Beitrag #7410597 wurde von einem Moderator gelöscht.
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.