PinMode zur Laufzeit änderbar?

Hallo liebe Arduino-Freunde,
gewöhnlich nimmt man ja den pinMode-Befehl in die Setupfunktion auf, also so:

void setup() {
pinMode(2,OUTUT);
}

Damit würde man den Digitalpin 2 als Ausgabepin festlegen.

Nun meine Frage: Ist es möglich, die Funktion des Pins mittels pinMode während der Laufzeit des Sketches - also in der void loop()-Funktion! - zu ändern, oder geht da der Arduino kaputt?? Ist also folgender Code passabel - entsprechende Schaltung auf dem Breadboard vorausgesetzt natürlich?:

void loop() {
pinMode(2, INPUT) //Jetzt wäre Digitalpin 2 ein Input-Pin
}

fragt sich Bernie007

Klar kannst du das innerhalb der Laufzeit machen.
Es ist an sich kein Problem wenn deine externe Hardware es zulässt.
Du musst vor allem sehen dsa du den Port nur dann umschaltest wenn du ihn brauchst denn auch diese Funktion nimmt sich Zeit und wenn du die Umaschaltung in der normalen Loop setzt macht er das halt immer wenn er an diese Stelle im Programm ist also setzt er mehere hundert mal pro sekunde den Pin auf Ein bzw. Ausgang.

Gruß

Daniel