Linux嵌入式系统开发之Led开发——应用篇(一)

与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号灯

 

posted @ 2012-07-30 10:44  平湖之下  阅读(527)  评论(0编辑  收藏  举报