Hiho, was macht dieser Befehl? Ist das eine zustandsabhängige Schaltung des Pins? Hab leider nichts darüber gefunden.
Gast
#6686367
Thorsten S. schrieb: > Hab leider nichts darüber gefunden. Google geht bei dir nicht? Hier: https://www.arduino.cc/reference/de/language/functions/digital-io/digitalwrite/
Welche Programmiersprache soll das sein? Kannst du bitte einen etwas größeren Schnipsel präsentieren? Bist du sicher, dass es kein Schreibfehler ist?
Ich nehme an du meinst "digitalWrite(LED_YELLOW, state ? HIGH : LOW);" das ist funktionell aehnlich wie if (state) digitalWrite(LED_YELLOW, HIGH); else digitalWrite(LED_YELLOW, LOW); Patrick aus die Niederlaende
Gast
#6686418
Das wäre der "Ternäre Operator". <wenn ausdruck wahr> ? <dann dies> : <sonst das>
Beitrag #6686976 wurde von einem Moderator gelöscht.
Danke, mit den letzten 2 Infos kann ich etwas anfangen. Gruß Thorsten
Beitrag #6687023 wurde von einem Moderator gelöscht.
Beitrag #6687029 wurde von einem Moderator gelöscht.
Patrick C. schrieb: > Ich nehme an du meinst "digitalWrite(LED_YELLOW, state ? HIGH : LOW);" Das ist eine Tautologie. https://de.wikipedia.org/wiki/Tautologie_(Logik) Nicht nur, daß man den ternären Operator in normalen Code außerhalb von Macros eher meiden sollte, auch so ist es doppelt gemoppelt. digitalWrite(LED_YELLOW, state); Tut das Gleiche, allerdings deutlich einfacher lesbar ;-)
Gast
#6687058
Aber doch nur, wenn State auch ein Bool ist, oder? Bei nem Integer würde er versuchen einen Int Wert in das Register des LED Pins zu schreiben. Also wahrscheinlich den aktuellen Wert des untersten Bit von State.
Beitrag #6687062 wurde von einem Moderator gelöscht.
Gast
#6687070
Falk B. schrieb: > digitalWrite(LED_YELLOW, state); > Tut das Gleiche, allerdings deutlich einfacher lesbar ;-) Snoop schrieb: > Aber doch nur, wenn State auch ein Bool ist, oder? > Bei nem Integer würde er versuchen einen Int Wert in > das Register des LED Pins zu schreiben. Nein. Schau in den Quelltext!
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
Und LOW ist als #define LOW 0 definiert.
Gast
#6687225
Okay Danke. Laut der Arduino Beschreibung aus dem Link im zweiten Post dürfte als Wert eigentlich nur High oder Low migegeben werden. Parameter pin: Die Arduino-Pinnummer. value: HIGH oder LOW. dennoch fangen sie auch alle anderen Werte ab. Beschreibung der Funktion ist also inkonsistent zum Quellcode. In der Beschreibung gibt es auch den Quellcode der Funktion oder einen Link dahin erst gar nicht.
Gast
#6687248
Snoop schrieb: > Beschreibung der Funktion ist also inkonsistent zum Quellcode. So ist das bei Arduino. Dazu kommt, dass die konkrete Implementierung je nach Core (µC) variiert. Ich gucke andauernd in den konkreten Quelltext um mich zu vergewissern, dass da auch wirklich das passiert, was ich erwarte.
Gast
#6687265
Snoop schrieb: > Laut der Arduino Beschreibung aus dem Link im zweiten Post > dürfte als Wert eigentlich nur High oder Low migegeben werden. Man kann der Funktion alles überreichen, was in einen uint8_t konvertierbar ist. Und das ist bei bool eben auch der Fall. Die Regeln sind klar. Snoop schrieb: > In der Beschreibung gibt es auch > den Quellcode der Funktion oder einen Link dahin erst gar nicht. Es ist nur eine Beschreibung des Interface der Funktion. Auch nachvollziehbar, da es dutzende von digitalWrite() Implementierungen gibt.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.