Hallo,

Du solltest evtl. eine Schleife um das ganze Programm, bzw. um den Teil, der stetig ausgeführt werden soll, machen. Denn wenn das Programm einmal unten angekommen ist, beim while(1) ist es fertig, und macht nix mehr !

Dann hast du bei main ein Argument angegeben, normalerwiese kann man da nur Daten aus der Kommandozeile übergeben (argc, argv), welche es beim AVR ja nicht gibt, also schreibt man dort void hin.
Du musst mal die warnings anschauen, die beim compilieren ausgegeben werden.