// Christian Angelus 24/09/2026 // gpio command tool #include #include #include #include //prototype functions int gpio_export(const char *gpio); int gpio_direction(int gpio, const char *direction); int gpio_write(int gpio, int value); int main (int argc, char *argv[]){ int fd; char pin[] = "17"; gpio_export(pin); //pin direction fd = open("/sys/class/gpio/chip0/gpio17/direction", O_WRONLY); if(fd<0) { perror("Error openng the GPIO export path"); return -1; } write(fd, "out",3); close(fd); //pin value fd = open("/sys/class/gpio/chip0/gpio17/value", O_WRONLY); if(fd<0) { perror("Error openng the GPIO export path"); return -1; } write(fd, "1",1); close(fd); //pin apagao //unexport fd = open("/sys/class/gpio/chip0/unexport", O_WRONLY); if(fd<0) { perror("Error openng the GPIO export path"); return -1; } write(fd, "17",2); close(fd); printf("Hello from Rasperry Pi!\n"); printf("Number of arguments: %d\n", argc); printf("Program is reciving: %s\n", argv[0]); if(argc > 1) printf("Argument: %s\n", argv[1]); return 0; } //Complete functions // //gpio export int gpio_export(const char *gpio){ int fd; //export fd = open("/sys/class/gpio/chip0/export", O_WRONLY); if(fd<0){ perror("Error openng the GPIO path"); return -1; } write(fd,gpio, strlen(gpio)); close(fd); return 0; } //Gpio direction int gpio_direction(int gpio, const char *direction){ int fd; //export fd = open("/sys/class/gpio/chip0/export", O_WRONLY); if(fd<0){ perror("Error openng the GPIO path"); return -1; } write(fd,gpio, strlen(gpio)); close(fd); return 0; }