Hallo! Bin Anfänger, und wollte mal schauen, wie ich zwei Eingänge verunden kann und das als Ergebnis ausgebe. Wenn ich folgendes schreibe, und ich jeweils eine der Tasten drücke, fängt die LED schon an zu leuchten. PORTC.1 = (PIND.1&&PIND.2); Es kommt eher eine ODER Verknüpfung raus!? Was mache ich falsch? Und wie sieht dann eine ODER Verknüpfung aus? Es wäre super, wenn ihr mir helfen könntet! mfG Jens
Also mal prinzipiell : das logische UND ist && das logische ODER ist || bitweise UND ist & bitweise ODER ist | Wenn das logische UND in dem Beispiel nicht geht, dann liegt das mehr an der Methode, wie das Programmierinterface eines µC in C/C++ aussieht. Ganz am Rande : Bitte sagt nicht verunden und verodern, denn dann bekommt man echte Probleme bei den folgenden logischen Verknüpfungen : - XOR -> "exklusiv verodern" ? "verexklusivodern" ?? - NOT -> "vernichten" ? Klingt aber sehr lustig ! MfG, Khani
Weiterführung (tschuldigung habe zu hastig Submit gedrückt) : Ich glaube, da liegt ein anderes Problem vor : Du hast wahrscheinlich die Taster mit Pullup-Widerständen gegen Vcc (+) geschaltet. Das heißt, wenn sie nicht gedrückt sind, liegt am µController eine 1 an. Jetzt hast Du vielleicht auch noch die Leds zwischen Vcc und dem Port C. (Das ist dann die Schaltung hier aus dem Tutorial) Das heißt die LED gibt negiert den Ausgabewert der UND-Verknüpfung aus. Wenn also beide Taster ungedrückt sind, liefert das je eine 1 am Eingang und damit am Ausgang eine 1. Daraus folgt LED leuchtet nicht. Bei allen anderen Kombinationen von Tastern ein/aus leuchtet sie. Wie Du schon richtig erkannt hast, ist das eine ODER-Verknüpfung. Gratulation, Du hast so heben das deMorgan'sche Gesetz gefunden ! '-' heißt negiert ------- - - (A & B) = A | B MfG, Khani
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.