pinMode standard status

Ich hab ein bissl gesucht, binaber nicht wirklich fündig gewurden.

Ich habe ein Sketch vor mir, der setzt 3 digitale Pins auf Output. Mehr Pins bekommen keine Zuweisung.

Der Sketch nutzt aber vielmehr Pins, digital wie analog.

Ich vermute, das die Pins von Beginn an einen gewissen Status haben, richtig?

Wenn ich es richtig verstanden habe, sind die Pins standardmäßig auf Input. Daher hat der Verfasser vermutlich nur 3 Pins auf Output gestellt.

Zusätzlich schreibt er mit analogWrite ein PWM Signal auf einen Digitalen Pin, ohne das dieser vorher Output gesetzt wurde. Setzt der Befehl analogWrite den Pin Automatisch auf Outout?

Wenn dieses Thema schon ausführlich beantwortet wurde, freu ich mich über ein Link.

Danke

Analoge Eingänge und PWM Ausgänge brauchen kein pinMode(). Gleiches git Für schnittstellen Serial, I2C und (außer SS bzw ENABLE) auch für SPI.

Pins sind standartmäßig Eingänge ich würde aber dennoch diese explizit als Eingänge mittels pinMode() definieren.

Grüße Uwe

Hallo,

meine Meinung. :slight_smile:
Man muss Eingangspins nicht nochmal extra auf INPUT setzen, weil sie sind von Haus aus Eingänge.
Alles was davon abweicht wie Pullup aktivieren oder Output muss man mit pinMode setzen.
Um analoge Eingänge muss man sich nicht kümmern. Das macht die analog Funktion.

Und deklariere/initialisiere Pins mit const byte und nicht mit #define. Ist veraltet und Fehleranfällig, dass nebenbei.

Ein Sketch sollte ziemlich am Anfang zeigen, welche Pins er wie verwendet.

Reine Kommentare werden gern vergessen zu aktualisieren.

Den Pins gute Namen zu geben, ist sinnvoll. const byte wurde schon erwähnt.

pinMode (tasterPin, INPUT); // zeigt klar, dass tatsächlich nicht INPUT_PULLUP vorgesehen ist.

Aber das ist alles nur freiwillig, um einem selbst ein halbes Jahr später etwas zu helfen. Wer solche Weichei-Regeln nicht braucht, braucht sie nicht.

Ja, im Laufe der Zeit entwickelt jeder seine eigene Handschrift. Ob das Einrückungen sind, Variablen Schreibweisen oder eben pinMode. :slight_smile:
TO - mach das womit du am Besten klar kommst und umgehen kannst.

michael_x:
Aber das ist alles nur freiwillig, um einem selbst ein halbes Jahr später etwas zu helfen. Wer solche Weichei-Regeln nicht braucht, braucht sie nicht.

Ich würde das nicht als "Weichei" bezeichnen, sondern als guten Stil betrachten, der die Wartbarkeit des Codes stark erhöht.

Wartbarkeit ist leider in vielen Codes etwas, was nicht beachtet wird. Dazu gehören auch passende (und im Laufe der Entwicklung korrigierte Kommentare).
In unserer ANSI-C-Zeit wurde jede Codeänderung von einem zweiten Kollegen qualitätsgesichert. Dabei wurde auch darauf geachtet.

Später fiel dass einer Kosteneinsparung zum Opfer.

Gruß Tommy

Ich würde das nicht als "Weichei" bezeichnen, sondern als guten Stil betrachten, der die Wartbarkeit des Codes stark erhöht.

Ich lass schon mal Smileys weg. Außerdem sind wir hier im Hobby-Bereich. Professionelles Programmieren hat andere Anforderungen an die Wartbarkeit. Code Review einsparen ist am falschen Ende gespart.

Da sind wir uns einig, wobei Wartbarkeit auch im privaten Bereich nicht zu sehr vernachlässigt werden sollte.
Irgendwann will man mal etwas ändern und versteht dann seinen eigenen Code nicht mehr.

Gruß Tommy

Wenn man mangels Komentar den Sketch neu analisieren muß dann ärgert man sich. In der Arbeit über Kollegen, im Privatbereich über sich selbst; aber geärgert hat man sich in beiden Fällen. :wink: :wink: :wink:

Ich versteh meinen Brechstangen-Code manchmal trotz Kommentaren nicht mehr :smiling_imp: