Chinaunix首页 | 论坛 | 博客
  • 博客访问: 105034
  • 博文数量: 50
  • 博客积分: 3120
  • 博客等级: 中校
  • 技术积分: 800
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-25 16:40
文章存档

2011年(1)

2009年(9)

2008年(40)

我的朋友

分类: LINUX

2008-09-25 17:13:00

KEY&LED测试
将以前做好的两个驱动同时调用,首先将LED驱动的目标文件led.ko和KEY驱动的目标文件key.ko拷贝到当前目录
程序如下:
include
#include
#include
#include
#include
#include
#include
int devk;
int devl;
int main(void){
     int i,j;
     system("clear");
     printf("test key.\r\n");   
     system("rmmod key");
     //system("insmod /teset/key/key.ko");
     system("insmod key.ko");
     devk = open("/dev/key",O_RDWR);
     if(devk == -1){
          printf("cann't open key \n");
          return 0;
     }
     printf("test led.\r\n");   
     system("rmmod led");
     //system("insmod /teset/led/led.ko");
     system("insmod led.ko");
     devl = open("/dev/led",O_RDWR);
     if(devl == -1){
          printf("cann't open led \n");
          return 0;
     }
     while(1)
     {
     j=ioctl(devk,0,0);
     if(j!=15)
     {
     if(j==7)   i=4;
         
          if(j==11) i=3;
         
          if(j==13) i=2;
         
          if(j==14) i=1;
         
         
          ioctl(devl,i,0);
          sleep(1);
          }
          else
          {
            ioctl(devl,0,1);
          }
     }
     close(devk);
     close(devl);
}
由于前面已经创建了LED和KEY的设备文件,所以现在编译后就可以直接运行。按下任一键则与其对应的LED就会亮一秒。
阅读(265) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~