1

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 
00003 Serial pc(USBTX, USBRX); // tx, rx
00004 BusOut myled(P1_13,P1_12,P1_7,P1_6,P1_4,P1_3,P1_1,P1_0,LED4,LED3,LED2,LED1); //Bus definieren mit den LEDs als ausgang
00005 
00006 int i,j,k; //Zähler für die aktuelle Position(i), die anzahl der LEDs die blinken sollen(j) und für eine bearbeitbare Version von j(k)
00007 int main()
00008 {
00009     j = 1; //eine LED soll am Anfang läuchten
00010     while(1)
00011     {
00012         k = j; //j kopieren
00013         myled=0x0001; // = 0000 0000 0000 0001 so sieht das Bitmuster 0x0001 aus
00014         wait(0.1); // 100ms warten, weil man sonst die erste LED nicht sieht
00015         for (i=1;i<11+j;i++) // Schleife i=1 bis i=10
00016         {
00017             myled=myled<<1; // bitweises Verschieben um 1 n. links
00018             if(k>1) //Vergleichen ob k > 1
00019             {
00020                 //k ist größer als 1 also muss man eine LED anreihen
00021                 myled = myled | 0x0001; //Led rechts hinzufügen
00022                 k --; //k also die noch hinzuzufügenden LEDs um 1 verringern
00023             }
00024             wait(0.1); 
00025             pc.printf("%d\n",i);
00026         }
00027         
00028         
00029         k = j; //j kopieren
00030         myled=0x0800; // = 1000 0000 0000 0000
00031         wait(0.1);
00032         for (i=1;i<11+j;i++) // Schleife i=1 bis i=11
00033         {   
00034            myled = myled >> 1; // bitweises Verschieben nach rechts
00035            if(k>1)
00036             {
00037                 myled = myled | 0x0800; //Led links hinzufügen
00038                 k --; //k also die noch hinzuzufügenden LEDs um 1 verringern
00039             }
00040             wait(0.1);
00041         }
00042         j++; //j, die anzahl der läuchtenden LEDs wird nach jeder Runde um 1 erhöht
00043     }
00044 }