Hallo Forum,
auf Grund einer Nachfrage von meiner Webseite habe ich mal ein kleines C-Programm entwickelt um die GPIOs per Konsolenaufruf zu schalten.
Ich wollte dann noch zusätzlich eine PWM mit ins das Programm reinbasteln nur da bin ich nicht sicher ob das mit der Methode die ich aktuell verwende überhaupt machbar ist. Vielleicht kann mir ja jemand eine Antwort darauf geben
Hier ist schon mal das Programm für alle die die es gerne mal ausprobieren wollen
Der Aufruf in der Konsole erfolgt dann so:Code:// Compile with: GCC /var/Programme/UART.c -o /var/Programme/UART #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <termios.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <time.h> int fd; char GPIO[3][30] = {"/sys/class/gpio/gpio0/value", // Array für die GPIOs "/sys/class/gpio/gpio1/value", "/sys/class/gpio/gpio4/value"}; int main(int argc, char** argv) // Programmstart { int res; int i; printf("Anzahl Argumente: %d \n", argc); // Ausgabe der Anzahl der übergebenen Argumente for(i = 0; i < argc; i++) // Argumente ausgeben { printf("argv[%d] = %s\n", i, argv[i]); } if (argc >= 1) // Sind Argumente übergeben worden? { for(i = 1; i < argc; i++) { fd = open(GPIO[i-1], O_WRONLY | O_NOCTTY); // Datei mit der Indexnummer "i-1" öffnen und Name unter "fd" speichern res = write(fd, argv[i], 1); // Argument mit der Nummer "i" in die geöffnete Datei schreiben close (fd); // Datei schließen } } return 0; }
./Programmname Bit1 Bit2 Bit3
Sprich bei mir sieht es im Moment so aus:
./GPIO 1 0 1
Sinn und Zweck ist die Ansteuerung einer RGB LED.
Deswegen auch die PWM![]()







					
					
					
						
Zitieren
Lesezeichen