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实验总结