Wie bereits gesagt:
-man kann den Pin über ein Fusebit entweder als /Reset-Pin oder als normalen I/O-Pin festlegen (CAVE: da die "normale" SPI-ISProgrammierung den /Reset-Pin benutzt, kann man sich da "aussperren" - auch aus den Fusebits. (-> high voltage programming))
-der /Reset-Pin ist low-aktiv, also wird der Controller bei einem low-Pegel im Reset "gehalten" - erst eine steigende Flanke am Pin läßt den Controller (nach einer Wartezeit) neu starten (schon mal am PC den Reset-Taster gedrückt gehalten?)
-da man in der digitalen Elektronik eher saubere Pegel haben will, der offene Eingang aber irgendwo rumschwirrt, wird der Pin über eine Widerstand auf einen festen Pegel gezogen (hier den high-Pegel=1 - deswegen Pull-Up). Warum über einen Widerstand? Damit man (über Taster/Programmer/Transistor/whatever) den Pin eben auch auf den low-Pegel bekommen kann (was ja den Reset auslöst), OHNE die Spannngsquelle kurzzuschliessen.
Ok, bis hier wurde das alles oben schon genannt. Aber warum geht es trotzdem (scheinbar problemlos) mit offenem /Reset-Pin?
Wenn man in's
Datenblatt des Controllers schaut, findet man ab Seite 48ff den generellen "Aufbau" der Pins. Erkennbar ist ein interner Pull-Up (ungefähre werte werden später in den "electrical characteristics" genannt). Beim /Reset ist dieser per default aktiviert, aber ein laufendes Programm kann das Pull-Up Disable Bit (PUD) im MCU Control Register (MCUCR) setzen. Dann sind alle PullUps außer Betrieb. Nach einem Reset ist das zwar wieder zurückgesetzt (bis dann das Programm den Pullup abschaltet), aber der rumflatternde /Reset-Pin kann natürlich nicht-reproduzierbare Resets erzeugen, klar?
P.S.: Ob sich das PUD auf den PullUp des /Reset-Pins auch dann auswirkt, wenn dieser als Reset eingestellt ist (Fuse), weiß ich nicht mit Sicherheit - auf einen externen PullUp hat es aber garantiert keinen Einfluss.