当前位置: 代码迷 >> 驱动开发 >> 求大神帮忙解决个小疑点
  详细解决方案

求大神帮忙解决个小疑点

热度:103   发布时间:2016-04-28 11:01:52.0
求大神帮忙解决个小问题
2440的开发板,在examples里有个leds,编译出来是led可运行程序,对应是在板子上的/usr/bin的led吧。

用超级终端连接上,进入/usr/bin目录里输入命令led,出现的是Usage:leds led_on 0|1,参数不对耶。

应该怎么使用这个程序呢?看源代码,不知道main(参数)里面的参数是怎么传递的,不懂,完全不懂,请大虾简单解释一下,谢谢!
就是想用led这个测试程序控制led的亮灭。
C/C++ code
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <sys/ioctl.h>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 < 0 || led_no > 3) {        fprintf(stderr, "Usage: leds led_no 0|1\n");        exit(1);    }    fd = open("/dev/leds0", 0);    if (fd < 0) {        fd = open("/dev/leds", 0);    }    if (fd < 0) {        perror("open device leds");        exit(1);    }    ioctl(fd, on, led_no);    close(fd);    return 0;}


------解决方案--------------------
c语言基础。
你先弄明白main(int argc, char **argv)里参数的用法。
再看提示:Usage: leds led_no 0|1,程序执行。

命令大概为:./led 1 1
------解决方案--------------------
./leds 1 1意思是第一个灯亮
./leds 1 0第一个灯灭

led驱动应用

天嵌2440 leds流水灯测试程序

TQ2440在linux下控制LED实验总结
  相关解决方案