一般来说,运行某个程序的时候可以传递入参数,对程序进行根有效的控制。
程序为:
int main(int argc, char **argv)
{
int on;
int led_no;
int fd;
if (argc != 3 || sscanf(argv[1], "%d", &led_no) != 1 || sscanf(argv[2],"%d", &on) != 1 ||
on < 0 || on > 1 || led_no < 1 || led_no > 4) {
fprintf(stderr, "Usage: leds led_no 0|1\n");
exit(1);
}
fd = open("/dev/GPIO-Control", 0);
if (fd < 0) {
perror("open device leds");
exit(1);
}
ioctl(fd, on, (led_no-1));
close(fd);
return 0;
}
int argc,表示参数的个数
char **argv,表示参数数组指针
sscanf(argv[1], "%d", &led_no)
这个函数是把第2个量格式化到字符串led_no中。
使用就是 led 1 1