g

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
fatima365
Date:
Thu Dec 05 18:57:15 2019 +0000
Parent:
0:30dbbeb201f5
Commit message:
a

Changed in this revision

leds2.cpp Show annotated file Show diff for this revision Revisions of this file
main.cpp Show diff for this revision Revisions of this file
von_lehrerbox.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r 30dbbeb201f5 -r 210e74bbbe34 leds2.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/leds2.cpp	Thu Dec 05 18:57:15 2019 +0000
@@ -0,0 +1,28 @@
+#include "mbed.h"
+
+//        LSB                           MSB
+//        2^0 2^1 2^2 2^3               2^7
+BusOut lb(D2, D3, D6, D9, D11, D12, A6, D13);
+
+void main() 
+{   
+    while(1)
+    {
+        BitsSetzen();    
+    }
+}
+
+void BitsSetzen()
+{
+    lb = 1; // B#0001   D2 leuchtet
+    wait_ms(500);
+    lb = 2; // B#0010   D3 leuchtet
+    wait_ms(500);
+    lb = 3; // B#0011   D2 und D3 leuchten
+    wait_ms(500);
+    lb = 4; // B#0100   D6 leuchtet
+    wait_ms(500);
+    lb = 8; // B#1000   D9 leuchtet    
+}
+
+
diff -r 30dbbeb201f5 -r 210e74bbbe34 main.cpp
--- a/main.cpp	Thu Nov 28 19:40:00 2019 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-#include "mbed.h"
-
-DigitalOut L1(D2);
-DigitalOut L2(D3);
-DigitalOut L3(D6);
-
-int main() {
-    L1=L2=L3=0;
-    while(1) {
-        L1=1; wait_ms(200); L1=0;
-        L2=1; wait_ms(200); L1=0;
-        L3=1; wait_ms(200); L1=0;
-    }
-}
diff -r 30dbbeb201f5 -r 210e74bbbe34 von_lehrerbox.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/von_lehrerbox.cpp	Thu Dec 05 18:57:15 2019 +0000
@@ -0,0 +1,75 @@
+// Bitoperationen in C
+//   &  |  ^  <<  >>
+
+// Logische Verknüpfungs-Operatoren
+// && || ! 
+
+a = 3; // dez  
+a = 0x3;
+a = 0xA;
+
+// Der Bitschiebe-Befehl in C/C++
+
+int  a;
+
+a = B#0001;  // in a steht Binär 0001
+
+a = a << 1;  // in a steht jetzt B#0010
+a = a << 1;  // in a steht jetzt B#0100
+
+a = a >> 2;  // in a steht jetzt B#0001
+a = a >> 1;  // in a steht jetzt B#0000
+
+
+// Bitwise OR
+B#1001 | B#0010 = B#1011       
+
+
+// Bits in einem Byte mit Bitwise-And abfragen
+
+B#1010 & B#0101 = B#0000
+
+B#1010 & B#1000 = B#1000
+
+// !!gezieltes!! abfragen ob ein Bit in einem Byte gesetzt ist
+
+  2^3    2^2  2^1  2^0
+B#  0    0    0    0;
+
+int btn;
+
+if( btn & 0001 )  B#xxxx & B#0001
+  printf("Bit0 ist gesetzt");
+
+if( btn & 2 ) B#xxxx & B#0010
+  printf("Bit1 ist gesetzt");
+
+if( btn & 4 )
+  printf("Bit2 ist gesetzt");
+
+if( btn & 8 )
+  printf("Bit3 ist gesetzt");
+
+
+// Mit dem Bitwise-OR Bits in einem Byte setzen 
+// ohne die schon gesetzen Bits zu zerstören
+
+int leds;
+
+leds = B#0001; // Bit0 ist gesetzt
+
+leds = B#0010; // Bit1 ist gesetzt aber Bit0 ist leider wieder gelöscht
+
+// Die Lösung ist, daß man Bits dazuverodert
+leds = leds | B#0010; // leds ist jetzt B#0011;
+
+
+
+// Logische operatoren
+
+int a = 1;
+int b = 1;
+
+int c = ( a && b );
+
+int d = 5; // B#0101