Hast recht. Dein Prg sieht wirklich komisch aus. Hat fast was mit Spagetti Code zu tun. Auf die schnelle schlage ich erst mal ein Buch über C vor. Da steht z.B. drin wie ein Prg aufgebaut ist. So mit Anfang usw. Habe dir mal Prg kopiert. Das läuft sehr gut und hat viele Kommentare. Versuch es mal zu kopieren und besser ist es zu kapieren
So wie dein Prg aussieht kann das nicht gehen. Hilft nur lernen.Code:// ***** Test LED 2 (Einfach) ***** // by h.j.seeger@web.de #include <nibo/niboconfig.h> // Anweisung Präprozessor #include <nibo/leds.h> // Ladet Haeder Datein und bindet ein #include <nibo/delay.h> #include <avr/interrupt.h> #include <nibo/gfx.h> #include <nibo/display.h> #include <nibo/pwm.h> #include <nibo/bot.h> int main() // Beginn Hauptprogramm { // Beginnt Prg mit { sei(); // Einbinden der Datein display_init(); pwm_init(); // PWM Datein gfx_init(); // Display Datein bot_init(); // Bot-Datein leds_init(); // IO-Ports für LEDs initiiert leds_set_displaylight(1024); // Setzt Helligkeit Display gfx_fill(0x00); // Löscht Bildschirm gfx_move(5, 5); // Angabe Ort gfx_set_proportional(0); // Angabe Schrift gfx_print_text("Testprogramm Nibo 2"); // Ausgabe Text gfx_move(35, 15); // Angabe Ort gfx_set_proportional(0); // Angabe Schrift gfx_print_text("LED Test 2"); // Ausgabe Text gfx_move(0,25); // Angabe Ort gfx_hline(128); // gfx_hline(128); // zieht Linie, Länge (128); gfx_move(5, 35); // Angabe Ort gfx_set_proportional(0); // Angabe Schrift gfx_print_text("LED Rot+Gruen+Orange"); // Ausgabe Text gfx_move(25, 45); // Angabe Ort gfx_set_proportional(0); // Angabe Schrift gfx_print_text("Rechts drehend"); // Ausgabe Text while(1==1) // while Schleife { ... } { // in der geschweiften Klammer steht der // Anweisungsblock int farbe; // es wird Variable namens "farbe" vom Typ int // (Ganzzahl) deklariert for (farbe=0; farbe<4; farbe++) // als nächste werden zwei ineinander // geschachtelte for Schleifen verwendet // die äussere Schleife läuft über den // Wert der Variable "farbe". Die Variable // wird bei 0 initialisiert und nimmt bis // Abbruchbedingung nacheinander die Werte // 0, 1, 2 und 3 an { int ledNr; // Mit der Anweisung "int led" wird die // Variable namens "ledNr" vom Typ int // deklariert for (ledNr=0; ledNr<8; ledNr++) // Diese wird in der inneren Schleife // verwendet.In der inneren for-Schleife // stehen nun auch die eigentlichen // Anweisungen. Mit der 8 werden die // Anzahl der LEDs angegeben. { leds_set_status(farbe, ledNr); // mit "leds_set_status(farbe, ledNr);" // wird der LED mit der ledNr die Farbe // farbe zugewiesen. delay(150); // Es wird 150ms gewartet } } } return 0; }
Achim







Zitieren

Lesezeichen