Chinaunix首页 | 论坛 | 博客
  • 博客访问: 950813
  • 博文数量: 113
  • 博客积分: 7235
  • 博客等级: 少将
  • 技术积分: 2101
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-14 11:24
文章分类

全部博文(113)

文章存档

2013年(7)

2012年(5)

2011年(6)

2010年(8)

2009年(15)

2008年(72)

分类: LINUX

2009-03-25 21:38:55

具体驱动代码见:http://blog.chinaunix.net/u2/73528/showart_1879649.html
编译好之后,插入模块:

[root@FriendlyARM niutao]# insmod mini2440_niutao_led.ko
[root@FriendlyARM niutao]# rm /dev/niutao_leds
[root@FriendlyARM niutao]# mknod /dev/niutao_leds c 212 0
[root@FriendlyARM niutao]

编写用户程序,测试驱动:
led.c

#include "led.h"
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

int main()
{
    int fd, i;
    if ((fd = open("/dev/niutao_leds", O_RDWR)) == -1) {
        printf("open device error\n");
        exit(1);
    }
    for (i = 5;;i++) {
        if (i == 9) {
            i = 4;
            continue;
        }
        ioctl(fd, LED_CTRL_ON, i);
        sleep(1);
    }
    close(fd);
    return 0;

}

测试结果:
四个led灯每隔一秒钟被循环点亮,呈现”流水“效果。
阅读(1869) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~