Ein paar allgemeine Programmierfragen

Dasichbinich:

  1. muss man alle Befehle in loop() tun oder kann man auch etwas wie:
    int wasweisich = keineahnung;
    void setup() {
    pinMode(wasweisich, bla);
    }
    digitalWrite(wasweisich, HIGH);
    delay(1);
    digitalWrite(wasweisich, LOW);
    Programm vorbei.

Ja, kannst Du. Wenn Du allen Code in die setup-Funktion packst, dann passiert nach dem Abarbeiten von setup() nichts mehr und bis zum nächsten Reset des Controllers wird nur eine leere loop() wieder und wieder aufgerufen. Das mache ich oft zum Testen von Routinen mit seriellen Debug-Ausgaben am Bildschirm, damit es nicht endlos über den Bildschirm scrollt.

Dasichbinich:
2) Kann man void loop irgendwie unterbrechen (etwas wie break() in einer while-Schleife)?

Du kannst die loop() Funktion genau wie auch jede andere Funktion mit "return" verlassen. Im Fall der loop-Funktion fängt die loop dann aber sofort wieder von vorne an zu laufen.

Wenn Du die loop "anhalten" Möchtest, dann kannst Du das mit einer Endlosschleife, z.B.:
while (true==true) ;
oder kurz:
while (1) ;
Solange die Bedingung in der Klammer wahr ist (also immer) wird danach ein leerer Befehl ";" ausgeführt.
Danach geht nichts mehr bis zum nächsten Reset.

Dasichbinich:
3) Wenn man ohne ein delay(irgendewas) dazwischen am laufenden Band einen pin ein und aus schaltet, erreicht man dann theoretisch eine Frequenz von ca. 16MHz oder etwas weniger?

Nein.
Wenn Du digitalWrite zum Schalten verwendest, erreichst Du sehr viel weniger als 16 MHz, wohl kaum über 100 kHz.
Wenn Du direkt die Ports ansteuerst, kannst Du eine höhere Schaltfrequenz erzielen, ich glaube maximal 4 MHz.

Dasichbinich:
4) Sind diese Fragen dumm und blöde??? :blush:

Ich bin mir nicht ganz sicher, wie diese Frage gemeint ist.
:wink: