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

Gast #4802188
#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 #4802406
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.
Gast #4802408
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).
Gast #4802411
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...
Gast #4802425
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
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
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
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
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

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.