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
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;
}
So wie dein Prg aussieht kann das nicht gehen. Hilft nur lernen.
Achim
Lesezeichen