Go Down

Topic: pinMode standard status (Read 381 times) previous topic - next topic

Plumps

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

uwefed

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


Doc_Arduino

#2
Dec 05, 2018, 11:36 pm Last Edit: Dec 05, 2018, 11:37 pm by Doc_Arduino
Hallo,

meine Meinung.  :)
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.
Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

michael_x

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.

Code: [Select]
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.

Doc_Arduino

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

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

Tommy56

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
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

michael_x

Quote
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. 

Tommy56

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
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

uwefed

#8
Dec 06, 2018, 08:57 am Last Edit: Dec 06, 2018, 09:31 am by uwefed
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.  ;)  ;)  ;)

Klaus_ww

Ich versteh meinen Brechstangen-Code manchmal trotz Kommentaren nicht mehr  :smiley-evil:
Freizeit-Programmierer mit moderatem Ehrgeiz besseren Code zu schreiben.

Go Up