Das wird schon.

"void" ist nur ein Platzhalter für "nichts". Die Funktion main() benötigt keinen Parameter (nichts zwischen den Klammern) und liefert einen "int"-Wert an die aufrufende Funktion zurück. Darum das olbigatorische return(0); am Ende jedes Programms. Da aber bei den Microkontrollern kein übergeordnedes Betriebssystem existiert endet ein return irgendwo im Nirwana des Kontrollerspeichers.

Die neu definierte Funktion Msleep() gibt keinen Wert zurück, deshab das "nichts" vor der Definition. Allerdings benötigt sie einen vorzeichenlosen 16-Bit-Parameter "unsigned int" und auf den wird innerhalb der Funktion mit Namen "dauer" zugegriffen.

http://www.mikrocontroller.net/articles/C
http://www.mikrocontroller.net/artic...R-GCC-Tutorial

Gruß

mic