erste Schritte mit ATMega8

Gast #99946
Hi,

ich bin gerade dabei mich mit
dem ATMega8 zu befassen, was dann
auch mein erster Kontakt mit mcu's
überhaupt wäre.
Leider schaff ich es nicht mal ein
Programm mit avr-gcc zu compilieren,
dass nichts macht:

int main(void)
{
  return 0;
}

avr-gcc -mmcu=atmega8 -o first first.c

Eine Fehlermeldung bekomme ich nicht, die Datei wird
aber immer ca. 3,7 kB groß und wenn ich sie öffne
dann sieht mir das eher nach einem linux-binary
aus: " ELF" leitet das File ein,
als nach einem reinem hex-file.

kann mir mal jemand kurz erklären wie man korrekt
compiliert, damit ich wenigstens eine Grundlage hab?

thx, Franz
Gast #99951
Hi

Doch. Nach dem anlegen der Versorgungsspannung beginnt beim ATMega8 ein
interner Ablauf (der sog. PowerOnReset). Ist dieser abgeschlossen
startet dein Programm wenn der externe Reset-Pin nich low ist.

Matthias
Gast #99953
Das return 0 kannst weglassen, du darfst eh nie aus main raus. Es sollte
also immer sein:


main()
{

// initialisierung

 for (;;)
 {
  //deine Hauptschleife
 }

}
Gast #99954
Das stimmt so nicht!

avr-gcc besteht zwar nicht auf "never reached" return, aber
eigentlich gehört es da hin!

Das hier ist auch nicht ganz so schön:
main()

Besser:
int main(void){...}

Gruß,
Patrick...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 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.