Habe mit "if" das Signal "a" invertiert.
Das Resultat ist "B".
Leider kann ich mit B nur weiterarbeiten wenn ich
B auf einen Pin lege. Das ist nicht gut weil ich
noch fünf weitere Signale invertieren muß..
Wie macht man das richtig?
Und wie invertiert man a mit dem "!"
001.ino angehängt.
LG
old.
Rainer U. schrieb:> Mit einer Variablen
Du hast die .ino, zeige es mir bitte daran.
Zwei if..else und eine && Funktion, wobei eine
wegfällt wenn man invertieren kann, sind ja kein Riesending.
LG
old.
Dirk B. schrieb:> Wenn
Ich probiere noch herum.
Leider sind in den Beispielen die Operatoren
in if eingebunden.
https://www.arduino.cc/en/Reference/Boolean
Wie man jetzt ohne diese Einbindung invertiert,
habe ich noch nicht herausgefunden. Bei UND &&
habe ich es hinbekommen, wie man in der 001.ino sieht.
LG
old.
Jetzthabensieihn I. schrieb:> Du hast die .ino, zeige es mir bitte daran.
Du lernst mehr, wemm Du besser verstehst, was Du programmierst.
Also ich meinte, Du kannst schreiben statt
if (digitalRead(a) == HIGH)
in mehreren Schritten
bVar = digitalRead(a)
bVar = !bvar
digitalWrite(AusgabePin, bVar) // welchen Ausgabepin weißt Du
Jetzthabensieihn I. schrieb:> Bei UND &&> habe ich es hinbekommen, wie man in der 001.ino sieht.
Weißt du, was das digitalRead() macht und was die Werte bedeuten, die du
übergibst und zurück bekommst?
Dirk B. schrieb:> Wenn du weißt wie es geht, dann mach doch.
Nach etwas Gartenarbeit noch mal rumprobiert.
Ich denke, ich habe jetzt raus wie die Struktur
aussehen muss. Mit einem NAND kann ich dann alle
logischen Funktionen realisieren. :-)
In meinen Augen sind das grundlegende Dinge
und ich wundere mich sehr über die Antworten hier.
LG
old.
Jetzthabensieihn I. schrieb:> In meinen Augen sind das grundlegende Dinge
Ja, ja das sind sie.
> und ich wundere mich sehr über die Antworten hier.
Darüber, das wir dir diese Dinge erklären?
Oder darüber, dass wir nicht deine Arbeit machen?
Wenn du Probleme hast dann frag gezielt nach.
Jetzthabensieihn I. schrieb:> In meinen Augen sind das grundlegende Dinge> und ich wundere mich sehr über die Antworten hier.
Genau...und daher solltest du das auch wissen.
Jetzthabensieihn I. schrieb:> In meinen Augen sind das grundlegende Dinge> und ich wundere mich sehr über die Antworten hier.
Mich wundert es nicht.
---
Jetzthabensieihn I. schrieb:> Mit einem NAND kann ich dann alle> logischen Funktionen realisieren. :-)
In einer anderen Situation könnte diese Erleichtung zielführend sein,
evtl. sogar Bahnbrechend.
---
Nur, in Sachen C/C++ bzw. AVR, nicht wirklich.
Denn diese kennen kein NAND.
Klar kannst du ein NAND aus den vorhandenen Operatoren bauen, und dann
z.B. ein XOR aus ein paar NAND.
Nur leider ist diese Idee ausgesprochen dumm, denn XOR ist schließlich
schon nativ vorhanden.
Alle logischen Operatoren, welche man je brauchen könnte, sind schon
längst vorhanden.
--
Schlussendlich, wundere ich mich eher nicht über die Antworten, sondern
mehr über deine Erleuchtungen.
Arduino F. schrieb:> XOR ist schließlich> schon nativ vorhanden.>> Alle logischen Operatoren, welche man je brauchen könnte, sind schon> längst vorhanden.
Noch habe ich das xor nicht benötigt.
Laut Referenzliste ist xor übrigens nicht vorhanden:
https://www.arduino.cc/en/Reference/Boolean
Wenn ich herausfinde wie man es macht,
lasse ich es Euch wissen.
LG
old.
Habe eine gute Erklärung dazu gefunden:
http://www.willemer.de/informatik/cpp/boolexpr.htm> Und dann gibt es noch praktische Ansätze,> einen XOR-Operator zu simulieren.> Als boolescher Operator bietet sich der> Ungleich-Operator != an. Alternativ kann> der binäre Operator ^ verwendet werden.> Da die booleschen Ausdrücke mit Zahlen> kompatibel ist, funktioniert dieser auch> wie ein boolescher Operator bei der Verknüpfung> boolescher Ausdrücke.
LG
old.