Hallo Dudes,
ich arbeite derzeit an meinem LED-Lauflicht und treffe dabei auf folgende Probleme:
"Was auf den ersten Blick recht mühsam anmutet, ist die Programmierung der 10 GPIO-Pins als Ausgänge. Du könntest jetzt natürlich hingehen, und für jede einzelne LED eine eigene Variable definieren und sie dann über die pinMode-Funktion entsprechend programmieren, also z.B. wie folgt:"
#define LED1 0
#define LED2 1
#define LED3 2
...
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
usw...
"Das ist eine recht umständliche und aufwendige Vorgehensweise. Deshalb machen wir das über eine for-Schleife, die die einzelnen Werte von 0 bis 9 anläuft und die GPIO-Pins allesamt als Ausgänge programmiert. Auf die gleiche Weise können wir dann auch recht einfach die LEDs ansteuern."
#include <wiringPi.h> //Benoetige wiringPi-Library
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#define DELAY 100
void setup(void); //Prototype
void setup(void){
int pin = 0; // Laufvariable
for(pin = 0; pin < 10; pin++)
pinMode(pin, OUTPUT); // Alle Pin's sind Augaenge
}
int main(void){
int pin = 0;
printf("Raspberry Pi Lauflicht-Programm mit WiringPi\n");
if(wiringPiSetup() == -1) // wiringPi initialisieren
exit (EXIT_FAILURE); // Fehler? -> Programmende
setup(); // GPIO-Pins programmieren
for(;;){
for(pin = 0; pin < 10; pin++){
digitalWrite(pin, HIGH); // LED An
delay(DELAY); // Pause
digitalWrite(pin, LOW); // LED aus
}
}
return EXIT_SUCCESS;
}
Display More
Wenn ich die Datei mit dem Befehl "cc -o prog led_lauflicht.c" compilieren möchte, dann bekomme ich folgende Fehlermeldung angezeigt:
QuoteDisplay More
/tmp/cc0RIHI8.o: In function `setup':
led_lauflicht.c:(.text+0x28): undefined reference to `pinMode'
/tmp/cc0RIHI8.o: In function `main':
led_lauflicht.c:(.text+0x68): undefined reference to `wiringPiSetup'
led_lauflicht.c:(.text+0x98): undefined reference to `digitalWrite'
led_lauflicht.c:(.text+0xa0): undefined reference to `delay'
led_lauflicht.c:(.text+0xac): undefined reference to `digitalWrite'
collect2: ld returned 1 exit status
Jemand eine Ahnnung was da falsch läuft?
Gruß