与Linux嵌入式系统开发之Led开发——驱动篇(一),对于的应用篇
看看咱们的开发板,有四个led灯,对吧,这次就是向办法用程序来点亮它,请看下边的代码:
#include <stdlib.h> #include <stdio.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); } //打开/dev/leds0设备文件 fd = open("/dev/leds0",0); if(fd < 0) { fd = open("/dev/leds",0); } if(fd <0 ) { perror("open device leds"); exit(1); } //通过系统调用ioctl和输入的参数控制led ioctl(fd, on ,led_no); //关闭设备句柄 close(fd); return 0; }
在宿主机上用arm-linux-gcc –o led_control led_test,就会生成led_control的程序,
通过ftp下载到开发板上,就可以运行了
比如:
./led_control 0 1 //点亮0号灯
./led_control 1 1 //点亮1号灯
./led_control 2 1 //点亮2号灯
./led_control 3 1 //点亮3号灯