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
Hey, Danke, dass hat funktioniert aber noch eine Frage: wann genau beginnt der mcu eigentl. damit das programm auszuführen?
achso, d.h. wenn ich den Strom wegnehm und anschließend wieder anleg passiert nichts, bevor nicht ein reset-signal kommt?
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
Das return 0 kannst weglassen, du darfst eh nie aus main raus. Es sollte also immer sein: main() { // initialisierung for (;;) { //deine Hauptschleife } }
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...
wennst int main schreibst, musst auch return machen void main ohne return wär richtiger
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.