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

Gast #4802188
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?
Angehängte Dateien:
Gast #4802425
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.
#4802446
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.
Gast #4802459
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...
Gast #4802470
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.
#4802603
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.
Beitrag #7410597 wurde von einem Moderator gelöscht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren