- 论坛徽章:
- 0
|
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就会亮一秒。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/68643/showart_1085523.html |
|